Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

static_cast, dynamic_cast, const_cast 및 reinterpret_cast는 언제 사용해야 합니까?

<시간/>

const_cast

변수에 const를 제거하거나 추가하는 데 사용할 수 있습니다. 이것은 변수에서 constness를 추가/제거해야 하는 경우 유용할 수 있습니다.

정적 캐스트

노멀/보통 타입 변환에 사용합니다. 이것은 또한 암시적 형식 강제 변환을 담당하는 캐스트이며 명시적으로 호출될 수도 있습니다. floatto int, char to int 등의 경우에 사용해야 합니다.

다이내믹_캐스트

이 캐스트는 다형성을 처리하는 데 사용됩니다. 파생 클래스로 캐스팅할 때만 사용해야 합니다. 이것은 기본 클래스에서 파생 클래스로 형변환할 때 상속에서만 사용됩니다.

재해석_캐스트

이것은 사용하기 가장 까다롭습니다. 비트 패턴을 재해석하는 데 사용되며 매우 낮은 수준입니다. 원시 데이터 비트 스트림을 실제 데이터로 변환하거나 정렬된 포인터의 하위 비트에 데이터를 저장하는 것과 같은 작업에 주로 사용됩니다.