c++ - static_cast에 관한 질문
阿神
阿神 2017-06-05 11:11:51
0
1
863

static_cast 연산자는 표현식을 type-id 유형으로 변환하지만 변환의 안전성을 보장하기 위한 런타임 유형 검사는 없습니다.
① 클래스 계층 구조에서 기본 클래스(상위 클래스)와 파생 클래스(하위 클래스) 간의 포인터 또는 참조를 변환하는 데 사용됩니다.
업캐스팅(파생 클래스의 포인터 또는 참조를 기본 클래스 표현으로 변환)은 안전합니다.
다운캐스팅(기본 클래스 포인터 또는 참조를 파생 클래스 표현으로 변환)을 수행할 때는 동적 유형 검사가 없으므로 안전하지 않습니다.

출처: http://baike.baidu.com/link?u...

궁금한 점은 굵은 글씨가 무슨 뜻인가요? 안전하지 않다은 무슨 뜻인가요?

阿神
阿神

闭关修行中......

모든 응답(1)
仅有的幸福

예를 들어, 동일한 상위 클래스의 서로 다른 하위 클래스의 객체를 서로 변환하여 유형 오류를 발생시키는 상위 클래스A,派生出两个子类BC,有一个A类指针或引用a指向了一个B类对象b,此时用static_cast进行下行转换,可以将其转换成C类的对象(指针或引用),此时就会出现不安全,因为C类的一些成员函数/变量对B类的对象不适用。
简单来说,就是可以利用static_cast가 있습니다.
예:

으아아아
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿