C++ (및 C) 엄격한 앨리어싱 규칙에는 char*
및 unsigned char*
이 다른 포인터의 별칭이 될 수 있습니다.std :: byte pointer는 char *와 같은 앨리어싱 관련이 있습니까?
AFAIK에는 uint8_t*
에 대한 유사한 규칙이 없습니다.
내 질문 : std::byte
포인터에 대한 앨리어싱 규칙은 무엇입니까?
은 C++ 참조 현재 단지 specifies :
는 다른 오브젝트 (객체 표현)에 의해 점유 원시 메모리에 액세스하는 데 사용할 수있는 문자 유형 (문자, 부호 문자, 부호 문자)처럼, 그러나 그와는 달리 유형이 아니며 문자 유형이 아니며 산술 유형이 아닙니다.
현재의 표준 초안에서
는 같은 앨리어싱 규칙은 char' – Justin
@Justin'에 관한 표준 : byte''에 적용 http://en.cppreference.com/w/cpp/language/reinterpret_cast#Type_aliasing : 당신은 할 수 있습니다 "규칙 적용"은 어떤 규칙이 적용되는지 말하지 않기 때문에 좀 더 명확해야합니다. 'std :: byte'는'char'와'unsigned char'와 같은 규칙을 가지고 있습니다. – ShadowRanger
@ Justin : 처음 게시했을 때 ("en.cppreference.com/w/cpp/language/... 앨리어싱 규칙이'std :: byte'에 적용됩니다.)). 그 이후로 편집했습니다. 사전 편집을로드했습니다. 고쳐 주셔서 감사합니다. – ShadowRanger