{ static_cast 와 dynamic_cast 는 키워드에서 부터가 정적과 동적 캐스팅이라는 느낌이 온다. static_cast 는 문법상 형변한이 가능하다면(C++의 문법) 그냥 형을 변환시킨다. dynamic_cast 는 문법상 형변환이 가능하더라도, 실제로 형 변환이 가능한가를 런타임에 검사를 한다. 이런 차이가 있기 때문에, static_cast 가 더 빠른 장점이 있지만, 위험한 단점이 있다. 책에서의 한 구절을 옮기면 "전기세 아끼려고 불끄고 공부하다가 눈 나빠진다"라는 말(물론 내가 좀 바꾸었지만)이 있다. 그리고 dynamic_cast 를 써야 한다면, 기반 클래스의 인터페이스가 무척 부족한 것이므로, 한번쯤 디자인에 대해서도 고려를 해봐야 될 듯 싶다. 아참 dynamic_cast ..
dynamic_cast 검색 결과
해당 글 2건
항목 93 : 포인터에 대한 static_cast 사용은 피하라. ( Avoid using static_cast on pointers. )
책 정리/C++ Coding Standards : C++ 코딩의 정석
2009. 4. 16. 23:50
항목 39. 계층도의 아래쪽 클래스로 다운캐스트 하지 않도록 한다.
항목 39. 계층도의 아래쪽 클래스로 다운캐스트 하지 않도록 한다. 캐스트(cast)란? 사전적 의미 : http://endic.naver.com/endic.nhn?docid=182460&rd=s 형 변환을 말하며, C 스타일은 (원하는 형) 으로 쓴다. 예) int a = 3; (double)a .....; 식 C++ 스타일 4종 캐스트 변환이 있으며, 기존 C를 보다 구체적으로 분류하여 가독성과 안정성을 고려한방식이다. static_cast, dynamic_cast, const_cast, 절대권력자 reinterpret_cast 사용법은 인터넷에 널려 있다. 그렇다면 다운 캐스트(down cast)란? 부모클래스를 가리키는 포인터를 자식을 가리키는 포인터로 바꾸는것 을 다운 캐스트라 한다. (부모에서..
책 정리/Effective C++ 2판
2008. 5. 12. 03:07
최근댓글