Mar*_*377 19 c++ stl c++-standard-library
我知道一些C++标准库头文件来自STL,例如vector.但是我没有找到STL标题的最新列表,这些标题仍未被标准库合并.它们存在吗?
PS:我想列出它们,并且如果可能的话,还要知道所有主要实现是否包括它们或在何处获取它们.
Omn*_*ity 10
注意,这是一个按功能分解的功能,而不是按标题分解,因为它似乎更有用.
如果我们检查SGI的STL文档,我们会发现以下内容:
slist已重命名std::forward_list.bit_vector已被模板规范所取代std::vector<bool>.这种实现可能(不一定)以这样的方式优化空间bit_vector.hash_set和朋友现在拼写像unordered_set.功能似乎是一样的.(谢谢TC!)rope不见了.标准库中没有等效的数据结构.我无法找到关于该主题的相关WG21讨论.sequence_buffer缺少,因为这主要用于后插a rope.random_sample并且random_sample_n失踪了.原因在N3547中讨论过:
在索菲亚 - 安提波利斯会议上考虑WG21后,Austern更新了该提案.在其他变化中,他撤回了[
random_sample和random_sample_n]:"LWG担心他们可能不太了解标准化....为TR2"[Aus08b]提出这些算法可能是适当的.讨论的维基会议记录同样简洁:"Bjarne觉得理由不够充分.PJ担心我们会弄错.劳伦斯担心人们会自己动手并弄错.TR2的好候选人"[LWG08].随后对这些拟议算法的投票达成了稳固的LWG共识(10-1,2 abs),有利于将来纳入技术报告(现称为技术规范)
该random_sample_n算法的一个版本已经进入了库基础知识TS并且被称为std::experimental::sample,在2014-02中采用了N3925提案的最新版本,但仍然不是标准的一部分,我想我们将在C++中看到17.(谢谢TC!)
lexicographical_compare_3way不见了.根据N2666标准化被认为"不够重要".power是拼写的pow,没有广义的功能power.identity,project1st,project2nd,select1st和select2nd从未到标准化.我无法找到有关原因的讨论.subtractive_rng也不见了.推定因为<random>将取代这个问题空间.binder1st,binder2nd,ptr_fun,pointer_to_unary_function,pointer_to_binary_function,mem_fun(朋友),unary_compose以及binary_compose丢失或过时.他们或多或少被std::bind朋友所取代.construct并destroy已被移入allocator该类,并不作为独立函数存在.(谢谢TC!)temporary_buffer不见了.但是get_temporary_buffer,return_temporary_buffer并且可用.我一直无法找到确切的原因,但是我遇到的喋喋不休似乎暗示它在某种程度上已经被打破,并且很多人一直试图修复它.对我来说究竟是什么以及如何仍然是一个谜.