big*_*iao 1 c++ containers c++11
我知道的一件事可能不是真的,那就是T应该是可复制构造的,也就是说,T应该有一个可访问的复制构造函数。
但是,是否还有其他要求,例如副本可分配?
作为补充,我记得Effective STL说vector<bool>不是标准容器,因为它不满足T *p=&c[0]格式良好的要求。
我认为序列容器和关联容器有不同的要求。例如,以下是矢量(有关更多详细信息,请参阅 cppreference.com)。另请注意,新版本的 c++ 已对其进行了更改。
T必须满足CopyAssignable和CopyConstructible的要求。(直到 C++11)
对元素施加的要求取决于对容器执行的实际操作。一般要求元素类型是完整类型并满足Erasable的要求,但很多成员函数提出了更严格的要求。(自 C++11 起)(直到 C++17)
对元素施加的要求取决于对容器执行的实际操作。一般来说,要求元素类型满足Erasable的要求,但许多成员函数提出了更严格的要求。如果分配器满足分配器完整性要求,则可以使用不完整的元素类型实例化此容器(但不是其成员)。(自 C++17 起)
| 归档时间: |
|
| 查看次数: |
205 次 |
| 最近记录: |