std::remove_cv<const int[3]>
은 어떤 종류의 것을 생산해야합니까? int[3]
또는 const int[3]
?std :: remove_cv는 const T의 배열에서 어떤 유형을 생성해야합니까?
const int[3]
은 array of 3 const int
이며, 최상위 레벨의 cv-qualifier는 없습니다. 그러니까 const int[3]
을 생산하지 않아야합니까? gcc/libstdC++ 최신 버전은 int[3]
을 생성하고 있다고 생각합니다. 이거 버그 야? 왜 안돼?
행동이 합리적인 동안, 나는 그것이 어떻게 정당화되는지 궁금합니다 ... (하나는 그것을'int'의'const' 배열로 읽을 수 있습니다.) – Deduplicator
효과적으로, 템플릿 struct와 같은 전문화를 사용하게 될 것입니다 remove_cv {사용 유형 = T; };'. 나는'T const [N]'이 그 전문화와 일치 할 것이라고 생각하지 않는다. –
@ DietmarKühl : Standard에서는 "[결과 유형]은 T와 동일해야하지만 최상위 수준의 cv-qualifier는 제거되었습니다."라고 말합니다. –