2014-05-23 3 views
0

_Rb_tree 클래스 (stl_tree.h)에서 선언은 _Compare _M_key_compare과 같으며 여기서 _Compare은 템플릿 매개 변수입니다. 그러나 나중에 클래스 에서 _M_key_compare이 함수로 사용됩니다. _M_key_compare(A,B). 함수 정의를 찾을 수 없습니다. 이 함수 정의는 어디에서 찾아야합니까? 당신이 당신의 컨테이너의 생성자에 전달하지 않는 경우에 나는 일반적으로 유형, 즉 펑터 유형, std::less이며, 기본값은 구성되어 stl_set.hstl_tree.hstl set 클래스에서 _M_key_compare 함수 정의를 찾을 수있는 위치는 어디입니까?

답변

1

_M_key_compare로 보았다. 또한 함수 포인터 일 수도 있습니다. 기술 요구 사항은 객체가 두 개의 매개 변수로 호출 가능하고 bool과 같은 것을 반환한다는 것입니다.

std::less과 같은 functor의 경우 이것은 bool operator() (T a, T b) 또는 이와 유사한 클래스의 구현이 있음을 의미합니다.

+0

Thanyou @filmor – Vinay

관련 문제