[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
- C
- MFC
- jni강좌
- 프로그래밍
- 리눅스
- linux
- winapi
- 드라이버
- Troubleshooting
- source
- android
- Quiz
- gcc
- API
- AWS
- db
- database
- java
- 안드로이드
- Python
- Cloud
- C++
- NDK
- jni
- algorithm
- it
- Visual C++
- 음악
- kering
- driver
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함