哪个C++规范开始支持 std::vector
Which C++ specification started to support std::vector
我想知道哪个C++规范开始支持 std::vector?另外,我们如何检查(通过预处理器宏(C++编译器是否支持此规范?
于 98 C++年推出,至少自 1994 年 9 月 WG21/N0545 以来成为工作草案的一部分
第 23 章 [lib.容器],
- WG21/N0545:信息系统拟议国际标准草案的工作文件 - 编程语言C++
1994年9月20日的论文(非正式的1994年9月C++工作文件(,特别是[lib.vector]部分,AFAIK是第一份引入(std::
(vector
的正式文件/草案,以及许多其他熟悉的容器类。
每年更新的C++工作文件最终成为第一个C++ISO标准发布,即ISO/IEC 14882:1998 - 编程语言 - C++,其中包括STL及其最初的容器类集。
第一次提及:1991年11月在达拉斯举行的会议
由于在 1998 年第一个 ISO 发布之前,关于该语言的所有内容都可以被认为是处于草稿/演变阶段,因此容器很可能更早地被讨论和提出。可能上面的章节已经以某种形式出现在WG21/N0100(1992年拟议的美国国家信息系统标准草案的工作文件 - 编程语言(中,但我无法找到此参考的副本。图书馆工作组1992 年 3 月 3 日的 WG21/N0110 报告确实提到了容器部分以及 1991 年已经开始/考虑的工作 [强调我的]:
进度报告 - 1991年11月至1992年3月
[...]
该小组正在做什么
虽然C++的语言部分已经经历了 10 多年的发展和完善,但标准库的开发时间要少得多。模板和例外的可用性(最近才添加到该语言中(对C++库的设计产生了重大影响。[...]
当前关注点
图书馆集团目前的工作重点与 1990 年 7 月西雅图会议以来一直保持原样。1991 年 11 月在达拉斯举行的会议增加了对简单容器类的考虑。
[...]
18.5 容器
查看可用的库揭示了一小部分公共类。字符串是最频繁的,并且已经在C++库中(18.4(。数组和位集类次之,并且看起来"容易"指定。
设计方法将使用模板强调具体数据类型。容器类提案将在标准的库部分添加一个新部分。
[...]
上次未解决的问题
[...]
18.5 容器
[...]同意允许图书馆工作组对两个新组件进行规范。[...]
位集组件 [...]。Array 组件将描述自描述数组,这些数组避免了与语言中定义的数组派生类型相关的一些问题。
[...]
第一次提到"数组[STL容器]组件">的工作,后来(分支到(DynArray
组件(见下文(最终成为std::vector
。
WG21/N0083:C++中的通用动态数组
论文
- WG21/N0083: 通用动态数组
从1992年1月4日起,提出了一个名为DynArray
的通用动态数组类的提案,其替代名称提案为vector
:
C++中的通用动态数组
[...]
2. 泛型动态数组类的建议
[...]选择此类的名称"DynArray"是因为"array"是C++中的内置类型,替代的"向量">可能预期是一个数学类(并且具有不同的成员函数(。[...]
std::vector
将与 C++98 标准一起使用。 也许它是早些时候添加的。
这个答案是基于那个网站。
Stl 于 1998 年在 c++98 版本中添加
所有 C++ 版本说明
每个 C++ 版本都添加了哪些新功能
- POCO::PostgreSQL:如何将std::vector支持添加到`Binder::bind`
- 哪个C++规范开始支持 std::vector
- llvm 9在10.15之前的mac版本上支持std::文件系统吗
- 为什么 std::initializer_list 不支持 std::get<>、std::tuple_size 和 std::tuple_element
- 如果创建支持返回可变参数类型列表的通用模板 API,我应该使用 std::tuple 还是其他东西?
- C++编译器不支持C++11(例如std::unique_ptr)构建OpenWrt
- 扩展 std::to_string 以支持枚举和指针
- std::vector 如何支持未知大小的自定义对象的连续内存
- C 中的std ::线程库支持嵌套线程
- 请求C 17的编译器通过使用-STD 17标志在-STD = C 17时,将启用STD ::变体的支持
- 为什么 gcc-4.9.2 不能支持 std::string.insert(迭代器,范围)返回迭代器
- gem install nmatrix - 你需要一个支持 -std=c++0x 或 -std=c++11 的 g++
- 哪些编译器支持 std::filesystem
- [swig-JavaScript]是否支持std::vector<std::string>*作为输出?
- 静态constexpr成员似乎不支持std::min
- 如何知道libstdc++是否支持std::regex
- 为什么 C++11 不支持 'std::function<void(int, ...)>'?
- VS2010并行模式库(PPL)parallel_for_each算法是否支持std::set<>?
- 在MSVC 11中支持std::thread
- c++ 11和c++ 03在支持std::string的小字符串优化方面有所不同