teh*_*man 8 c++ visual-c++ data-structures
我正在阅读我的教科书Data Structures and Algorithms: By Mark Allen Weiss
,它说标准库不包含集合或映射的哈希表实现,而是编译器可以提供具有集合和映射类的相同成员函数的hash_set和hash_map.为什么不在标准库中包含哈希实现?这本书于2006年出版,自从将这些实现添加到标准库以来,是否有任何C++版本?
Nic*_*las 15
你要找的是什么std::unordered_set/map
.这些是C++ 11的一部分,C++ 11是C++标准的下一个版本(将在几个月后完成).它们也在2005年的技术报告1中提供,这是第一个标准和下一个标准库之间的C++标准库的附加列表.在TR1中,它们位于std::tr1
命名空间中.
Boost实际上提供了TR1的实现(虽然你不应该使用该std::tr1::shared_ptr
版本,因为常规boost::shared_ptr
和std::shared_ptr
C++ 11更好,更好).
如果我记得,最初在C++ 98中引入散列表的原因只是缺乏C++标准委员会的时间.他们基本上有一个截止日期,以便运送东西,哈希表没有成功.