캐스팅
-
static_cast, dynamic_cast, const_cast, reinterpret_cast프로그래밍 언어/C++ 2024. 7. 4. 22:58
1. static_cast2. dynamic_cast3. const_cast4. reinterpret_cast Static_cast일반적으로 많이 사용되는 캐스팅C스타일 ( (double) num; ) "()" 보다 안전한 타입변환 방법 Static_cast 종류기본 타입 간 변화int i = 10;double b = static_cast i;포인터 간의 변화 (** 주로 많이 사용)class Base{};class Child : public Base{};Base* basePtr = new Child;Child* childPtr = static_cast(basePtr);void 포인터 특정 포인터로 변환void *ptr = &i;int* intPtr = static_cast(ptr);열거형과 정수형 간의..
-
타입변환프로그래밍 언어/C++ 2024. 7. 4. 12:23
1. 일반적인 값& 참조타입 변환2. 업캐스팅 & 다운캐스팅 3. 암시적 변환 & 명시적 변환 4. 아무 관계없는 클래스 사이의 변환5. 상속관계의 클래스 타입 변환 일반적인 값& 참조타입 변환값 타입 변환원본 객체와 다른 비트열 재구성int a = 1234567;float b = (float)a; // 비트열 재구성 -> 값의 오류가 생길 수 있음 참조 타입 변환비트열 재구성 x , 관점만 변환int a = 1234567;float b = (float&)a; // a의 주소값을 float으로 이해하겠다라는 의미 (값의 변형이 존재)// float b = *(float*)&a; // 동일한 표현 업캐스팅 & 다운캐스팅업캐스팅작은 것 -> 큰 것으로 변경더 많은 범위를 표현할 수 있는 타입으로..