C++ 표준을 읽는 동안 static_cast
이 일종의 직접 초기화 (C++ 표준 8.5/15)이라는 것을 읽었습니다.
이것은 static_cast
동안 해당 오버로드 된 생성자이 호출됨을 의미한다고 생각합니다.
예를 들어 B에서 파생 된 유형 B 및 유형 D와 객체 D d
이 있습니다. 그런 다음 표현 static_cast<B>(d)
은 static_cast
표현입니다.파생 클래스에서 기본 클래스로 static_cast를하면 어떻게됩니까?
표준 수단으로, static_cast
표현은 직접 초기화입니다. 이것이 B
유형의 생성자를 호출하고 B
유형의 새 생성 객체를 반환한다는 것을 의미합니까?
편집
또 다른 문제는 방법에 대한 B & b = d
또는 B b = d
입니까? 이 두 문장에는 B
의 생성자가 관련되어 있습니까?
다른 문제를 제기하기 위해 내 게시물을 수정했습니다. 좀 봐 줄래? – Zachary