[정리] Type Traits & is_pointer


[정리] Type Traits & is_pointer

type traits 개념 1. 컴파일 시간에 타입에 대한 정보를 얻거나 변형된 타입을 얻을 때 사용하는 도구(메타 함수) 2. <type_traits> 헤더로 제공됨 (C++11) template<typename T> void printv(T v) { if(T is pointer) // T가 pointer인지 아닌지 조사하고 싶을 때 { cout<< v << ":" << *v<<endl; } else { cout<<v<<endl; } int main() { int n = 3; double d = 3.4; printv(n); printv(d); printv(&d); } } C++ 표준에 is_pointer가 있으므로 충돌 날 수 있다. type query를 위한 type traits를 만드는 일반적인 방법 1. primary template 에서 false 리턴 2. partial specialization에서 true 리턴 #include <iostream> using namesp...


#is_pointer #타입 #메타 #type_traits #type #traints #specialization #query #partial #함수

원문링크 : [정리] Type Traits & is_pointer