[C++] dynamic_cast, const_cast, reinterpret_cast, static_cast
dynamic_cast const_cast reinterpret_cast static_cast A가 B의 superclass일 때 A* a; B* b = new B(); a = (A *)b; 이거는 dynamic_cast(b);와 같음 dynamic_cast는 safe함. 서브->슈퍼 캐스팅은 상관 없지만 슈퍼->서브 캐스팅은, C style로 캐스팅하면 캐스팅이 되긴 하지만, 참조 할 수 없는 멤버를 참조 하려 하면 런타임 에러가 발생함. dynamic_cast를 이용하면 서브->슈퍼 일때만 캐스팅 하고 아닐 대는 null을 참조함. 따라서 null 체크를 통해 런타임 에러를 방지할 수 있다. 덧, 포인터로 선언한 클래스 일때만 된다. Parent *p1 = new Child; Parent *p2 = ..
Language/C C++
2010. 11. 24. 11:07
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- API
- C++
- NDK
- db
- Cloud
- source
- 드라이버
- Visual C++
- jni
- java
- driver
- 리눅스
- C
- 안드로이드
- 음악
- android
- it
- MFC
- linux
- kering
- winapi
- Troubleshooting
- jni강좌
- gcc
- Python
- database
- algorithm
- 프로그래밍
- Quiz
- AWS
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
글 보관함