{ 무엇을 간접 변환이라고 하는가? 하나의 타입이 개발자가 눈치 못채게 다른 타입으로 변환 되는 것을 뜻하거나, 타입 변환이 정의하지 않아도 되는 것, 또는 변환 연산자 정의로 인하여, 변환되는 것을 뜻한다.(operator char*() 같은 것) 이것을 왜 피해야 하는가? 이것은 생성자의 호출이 예측하기 어렵게 만들고, 함수의 호출 역시 예측하기 어렵게 만들기 때문이다. 음~ 예를 들어 달라. #include class Widget { public: Widget( unsigned int ) { std::cout
형변환 검색 결과
항목 2 : 가능한 C++ 스타일의 캐스트를 즐겨 쓰자 개념 정리 1급 기피 대상 : goto 문, cast문(형변환) C++ 캐스팅 변환 사용 법 : http://ikpil.tistory.com/262 참조 이유 1. C스타일의 캐스트는 어떤 타입을 다른 타입으로 한방에 바꾸어 주는 괴물이다. 2. 눈으로 찾아 내기가 힘들다. 해결방법 1. 캐스팅 변환환을 쓸때는 C++ 스타일로 쓰자 주의점 1. 캐스팅 변환을 쓸때만 쓰는것이지 즐겨 쓰라는것이 아니다. 써야지만 할수 있을때 이렇게 쓰라는것이다. 2. 함수 포인터를 형변환은 목에 칼이 들어 올 경우가 아니라면 쓰지 말아라.(항목 31에서 자세하게 설명해준다고함) 개인적인 설명 캐스팅 변환 요약 static_cast : int를 double로.. 이런 류..
항목 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)란? 부모클래스를 가리키는 포인터를 자식을 가리키는 포인터로 바꾸는것 을 다운 캐스트라 한다. (부모에서..
최근댓글