序列容器是否不是常规容器的子集
Are sequence containers not a subset of general containers?
stack
没有 iterator
-member 类型,因此不符合一般容器要求:[container.requirements.general]
。
但在[container.adaptors.general]
标头
<queue>
和<stack>
定义容器适配器queue
、priority_queue
和stack
。这些 容器适配器满足顺序容器的要求。
序列容器不是通用容器的子集吗?
序列容器是常规容器的子集。
但是,序列适配器不满足特定于序列容器的要求(没有insert
成员函数),并且正如您已经注意到的,它们也不满足一般容器要求。我不认为[container.adaptors.general]
应该说他们这样做,但它确实在我拥有的C++11草案中说了这一点。
这
确实是一个缺陷(http://cplusplus.github.com/LWG/lwg-active.html#2194):
由于序列容器是常规容器的子集,因此这会对不满足的容器适配器施加要求。[...] 正如NB评论所注意到的,适配器实际上不是序列也不是容器,因此需要修复此措辞。实现这一点的最简单方法是删除冒犯性的句子。
相关文章:
- 为什么与常规GCC不同,即使有"学究性错误",MinGW-GCC也能容忍丢失的返回类型
- 给定一个向量,如何找到该向量的所有子集和的原始索引
- 在子集化后将包含索引号的列表列表映射到标准索引序列
- 显示字符串的集合和子集
- WinAPI 检查窗口是否具有常规标题栏
- 将矢量设置为常规参数
- 用于子集字符串的 Rcpp 函数
- 是否可以使用单个定义定义函数的常量和常规版本?(使用模板,自动,decltype等)
- 为什么我的子集和方法不正确?
- 将通用Windows应用程序转换为VisualStudio 2019上的常规应用程序
- G++ 编译器是否在未使用返回值的情况下将 constexpr 函数视为常规函数?
- 计算总和为 x 的所有整数子集(包括负数)
- C++常规指针函数或模板
- 在尝试使用递归查找集合子集的总数时,我遇到了分割错误
- 如何将 tbb concurrent_hash_map转换为常规标准::地图?
- 从小于或等于某个 N 的数字列表中最小化或找到 n 个理想的子集和
- 使用 Rcpp 的高效矩阵子集
- 在C++中,为什么使用静态类函数而不是常规函数?
- 模板与常规函数歧义 - UB?
- 序列容器是否不是常规容器的子集