반응형

C++ dynamic_cast 2

static_cast와 dynamic_cast의 개념 및 차이점

1. static_cast static_cast는 한 유형에서 다른 유형으로 유형 변환을 수행하는 C++ 연산자입니다. static_cast의 기본 구문은 다음과 같습니다. 여기서 new_type은 변환하려는 유형이고 original_value는 변환하려는 값입니다. new_type new_value = static_cast(original_value); static_cast는 아래 서술한 상황과 같이 다양한 유형 변환을 수행하는 데 사용할 수 있습니다. 1. int에서 float로 또는 double에서 int로의 기본 유형 간 변환 2. char*와 같은 포인터 유형을 void*로 변환합니다. 3. 파생 클래스 포인터에 대한 기본 클래스 포인터와 같은 관련 클래스 간 변환. static_cast는 "최..

공부/C++ 2023.01.10

Dynamic_cast 내부동작은 어떻게 되는가?

Dynamic_cast 글을 읽기 전 가상 함수, 가상 함수 테이블 게시물을 읽으면 더욱 이해하기 편합니다. https://shung2.tistory.com/584 가상 함수와 가상 함수 테이블 개념 및 차이 객체 지향 프로그래밍에서 가상 함수(Virtual Function)는 파생된 클래스에서 재정의할 수 있는 멤버 함수입니다. 기본 클래스와 동일한 구문을 사용하고, 호출되는 동안 파생된 클래스에서 변경되 shung2.tistory.com C++에서 dynamic_cast 연산자는 런타임에 캐스트를 수행하는 데 사용됩니다. 포인터나 참조를 한 유형에서 다른 유형으로 변환하는 데 사용되며, 여기서 대상 유형은 다형성 클래스(최소한 하나의 가상 함수(Virtual Function)가 있는 클래스)입니다. ..

공부/C++ 2022.12.23
반응형