C++ STL映射在哪里实现了_Rb_tree_insert_和_rebalance?

C++ STL映射在哪里实现了_Rb_tree_insert_和_rebalance?,c++,map,red-black-tree,C++,Map,Red Black Tree,我正在查看STLstd::map是如何实现的。我知道它是用红黑树实现的。所以,我只是想知道红黑树是如何在STL中实现的,因为我知道实现的效率有多高 std::map包括stl_tree.h。这就是实现红黑树的地方 所有函数(插入发生的地方)都对插入进行抽象,并调用\u Rb\u tree\u insert\u和\u rebalance函数。但是我找不到这个的实现 在哪里实现它有什么想法吗?它是完全特定于实现的,但是,我认为您的意思是libstdc++,因此,由于实现是开源的,您可以在源文件中搜索

我正在查看STL
std::map
是如何实现的。我知道它是用红黑树实现的。所以,我只是想知道红黑树是如何在STL中实现的,因为我知道实现的效率有多高

std::map
包括
stl_tree.h
。这就是实现红黑树的地方

所有函数(插入发生的地方)都对插入进行抽象,并调用
\u Rb\u tree\u insert\u和\u rebalance
函数。但是我找不到这个的实现


在哪里实现它有什么想法吗?

它是完全特定于实现的,但是,我认为您的意思是
libstdc++
,因此,由于实现是开源的,您可以在源文件中搜索此函数。在
gcc-4.8
中,此函数位于文件
libstdc++-v3/src/c++98/tree.cc
中。
例如,您可以在这里搜索:

如果STL是C++标准库(如代码> STD< /COND>命名空间),那么它纯粹是依赖于实现的。因此,您应该澄清您所指的标准库实现。如果你真的是指STL,那么里面就没有
std::map
(只是
map
)。谢谢。我在查看安装目录中提供的gcc Include,但没有找到。只是一个挑剔的注意事项:正式地说,它不是实现定义的,因为语言定义说“实现定义”意味着一致性实现必须记录它所做的事情。然而,它是具体实施的。