在stl set class中找到_M_key_compare函数定义的位置?

时间:2014-05-23 06:59:46

标签: c++ stl set

在_Rb_tree类中(在stl_tree.h中),声明类似于_Compare _M_key_compare,其中 _Compare 是模板参数。但是后来在类 _M_key_compare 中用作函数。 _M_key_compare(A,B)。我找不到功能定义。我应该在哪里寻找这个功能定义?我查看了 stl_set.h stl_tree.h

1 个答案:

答案 0 :(得分:1)

如果您未在容器的构造函数中传递

_M_key_compare,则默认构建

bool,通常类型为std::less,即仿函数类型。它也可能是一个函数指针,技术要求是该对象可以用两个参数调用并返回std::less - 就像。

对于像bool operator() (T a, T b)这样的仿函数,这意味着在班级中有{{1}}或类似的实现。