보편참조1 보편참조에 대한 중복적재 대신 사용할 수 있는 기법들을 알아두라 2 보편참조를 받는 템플릿을 제한한다. std::enable_if는 컴파일러가 특정 템플릿을 존재하지 않는 것처럼 할 수 있다. 그런 템플릿을 비활성화된 템플릿이라고 한다. 기본적으로 모든 템플릿은 활성화 상태이지만 std::enable_if를 사용하는 경우, 특정 조건이 만족될 때에만 활성화된다. 일단 기존의 예제에 std::enable_if만 추가해보자 class Person{ public: template explicit Person(T&& n); ... }; // std::enable_if와 그 작동원리인 SFINAE는 나중에 따로 정리 여기서 우리가 지정하려고 하는 조건은 T가 Person이 아니라는 것이다. 이것을 판별할 유용한 형식특질로 두 형식이 같은지를 판별하는 std::is_same이 있다.. 2020. 7. 23. 이전 1 다음