4
char *
유형의 버퍼를 동적으로 할당하고 특정 유형으로 캐스팅하려는 경우reinterpret_cast <int*> (char *) 대 static_cast <int*> (static_cast <void*> (char *)) - 어떤 것을 사용합니까?
reinterpret_cast<int *>(char *)
또는
static_cast<int *>(static_cast<void *>(char *))
와 같은 것을 사용해야합니까?
나에게 개인적으로 후자를 사용하고 싶다. 왜냐하면 나에게 데이터의 "재 해석"(버퍼를 할당하는 기계적인 방법이 아닌)이 될 것이기 때문이다. 전형적인 reinterpret_cast
과 같은 방식으로 버그의 근원지가 될 수도 있지만 올바른 직감입니까?
정의되지 않은 동작이므로이 작업을 수행하지 마십시오. –
KerrekSB : 정확히 "이"는 무엇입니까? – Mehrdad
@KerrekSB : 완전히 정의되고 벡터 구현에 사용됩니다 (최소한 sgi 버전). – Dani