일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- c++
- effective stl
- 영화
- 다형성
- 참조자
- Vector
- more effective c++
- 오블완
- 티스토리챌린지
- virtual function
- 게임
- 루아
- 언리얼
- UE4
- 예외
- exception
- Smart Pointer
- 메타테이블
- 상속
- lua
- 스마트 포인터
- 영화 리뷰
- operator new
- 비교 함수 객체
- implicit conversion
- resource management class
- 반복자
- reference
- 암시적 변환
- Effective c++
- Today
- Total
목록casting (2)
스토리텔링 개발자
항목 2 : 가능한 C++ 스타일의 캐스트를 즐겨 쓰자. C 스타일 캐스트의 문제점타입을 다른 타입으로 제한 없이 바꾸어준다.어떤 객체의 상수성(copnstness)만을 바꾼다.기본 클래스 객체에 대한 포인터를 파생 클래스 객체에 대한 포인터로 바꾼다.위 둘은 전혀 다른 캐스트지만, C 스타일 캐스트는 이 모든 걸 별 말 없이 소화해버리기 때문에 위험하다.C 스타일 캐스트는 눈으로 찾아내기가 힘들다.식별자를 괄호로 둘러싼 것일 뿐이기 때문이다.int firstNumber, secondNumber;...// c 스타일 캐스트double result = ((double)firstNumber) / secondNumber;// c++ 스타일 캐스트// 인간의 눈이나 프로그램이나 발견하기 쉬운 캐스트doubl..
항목 27 : 캐스팅은 절약, 또 절약! 잊지 말자 C++의 동작 규칙어떤 일이 있어도 타입 에러가 생기지 않도록 보장한다.즉, 이론적으로는 컴파일만 깔끔하게 끝나면 그 이후엔 어떤 객체에 대해서도 불안전한 연산이나 말도 안되는 연산을 수행하려 들지 않는다.허나 공교롭게도 이 타입 시스템을 우회하는 방법이 있으니, 그것이 캐스트(cast)이다. C++에서 지원하는 캐스팅 문법C 스타일 캐스트 (구형 스타일 캐스트)(T)nn을 T 타입으로 캐스팅T(n)n을 T 타입으로 캐스팅C++ 스타일 캐스트 (신형 스타일 캐스트)const_cast(n)객체의 상수성을 없애는 용도로 사용된다.상수성을 없애는 기능을 가진 캐스트는 이것 뿐이다.dynamic_cast(n)안전한 다운 캐스팅을 할 때 사용하는 연산자...