반응형

dynamic_cast 2

[c++] RTTI 와 RAII 의 차이

RTTI(Run Time Type Information)런타임에 vtable과 추가적인 타입 메타 데이터를 사용하여 객체의 실제 타입을 확인하는 동적 메커니즘, 약간의 메모리 성능 오버헤드가 발생 할 수 있다.프로그램 실행 중(런타임)에 객체의 실제codehortus.tistory.com RAIIResource acquisition is initialization 자원 획득을 초기화 한다.RAII 는 자원 관리를 위한 c++ 디자인 패턴 스마트 포인터,컨테이너,락 가드 등 모두 RAII 기반자원 누수를 방지하고 안전한 자원 관리를 보장codehortus.tistory.com RTTI (Run-Time Type Information)런타임 중에 객체의 실제 타입을 알아내는 기능으로 다형성을 사용하는 객체..

c++ 2026.01.23

C++ 4대 캐스트(cast)

타입 안정성과 의도를 명확히 하기 위한 규칙1. static_cast전통적·정상적인 변환을 수행할 때 사용하는 기본 캐스팅입니다.특징컴파일 타임에 검증 가능한 변환을 수행합니다.암시적 변환이 가능한 경우 → static_cast로도 명시적으로 가능.다운캐스팅(부모 → 자식) 가능하지만, 타입 안전성은 보장하지 않습니다.사용 예double d = 3.14;int n = static_cast(d); // 정수 변환Base* b = new Derived();Derived* d1 = static_cast(b); // 다운캐스팅(안전 검증 없음)주의점포인터 간 캐스팅은 타입 오류를 검증하지 않기 때문에 잘못된 형태면 런타임에서 UB 발생.객체 수명과 RTTI를 사용할 수 있는지 고려해야 합니다.2. dynam..

c++/객체지향 2025.11.30
반응형