일반적으로 템플릿 기술을 사용하여 일반적인 type_traits
을 구현할 수 있습니다.is_standard_layout은 어떻게 구현 되었습니까?
그러나 std::is_standard_layout
을 어떻게 구현할 수 있는지 상상하지 못했습니다. http://en.cppreference.com/w/cpp/types/is_standard_layout
표준 라이브러리 gcc
을 검사했을 때 다른 곳에서는 찾을 수 없었던 __is_standard_layout(T)
으로 구현되었음을 알았습니다. 이것은 컴파일러의 마법 함수입니까?
std::is_standard_layout
을 명시 적으로 구현할 수 있습니까?
예를 들어, 조건 중 하나는 단일 클래스에서 상속된다는 것입니다. 컴파일 시간을 결정하는 것은 불가능한 것처럼 보입니다.