는 다음 테스트를 고려 근본적인 유형의 모든 CONST/휘발성/서명/서명되지 않은 버전에 대한 사실이다 :유형의 특성은 느릅 나무
std::is_same<T, bool>::value
std::is_same<T, char>::value
std::is_same<T, short int>::value
std::is_same<T, int>::value
std::is_same<T, long int>::value
std::is_same<T, long long int>::value
std::is_same<T, float>::value
std::is_same<T, double>::value
std::is_same<T, long double>::value
문제는 T = const unsigned char
경우, 모든 테스트가 false가 될 것이며, 내가 좋아하는 것입니다 이건 std::is_same<T, char>::value
이 참이어야합니다. 또는 T = volatile signed long long int
인 경우 std::is_same<T, long long int>::value
을 true로 지정하십시오. type_traits
으로 어떻게 할 수 있습니까? 존재하는 경우 const
및 volatile
을 제거하는
이기종 시스템에서 생성 된 파일의 데이터 모델을 탐지하는 클래스를 설계하고 유형의 부호가있는/부호없는 버전은 동일한 양의 바이트로 인코딩됩니다. – Vincent
'unsigned char','signed char'과'char'는 세 개의 다른 타입입니다 (§3.9.1.1 참조). 그러므로이 예제는'signed char'을 생성하고 그것을'char'와 비교하기 때문에 사실이 아닙니다. 언제든지 테스트 해보십시오. https://ideone.com/T8QdYw –