主页

C++ vector与普通vector的区别 - 特殊实现机制解析

vector 特性 std::vector 是 std::vector 对类型 bool 为空间提效的特化。 std::vector 中对空间提效的行为(以及它是否有优化)是实现定义的。一种潜在优化涉及到 vector 的元素联合,使得每个元素占用一个单独的位,而非 sizeof(bool) 字节。 std::vector 表现类似 std::vector ,但为节省空间,它: 不必作为连续数组存储元素 暴露类 std::vector::reference 为访问单个位的方法。尤其是,此类型的类为 operator[] 以值返回。 不使用 std::allocator_traits::construct 构造位值。 不保证同一容器中的不同元素能由不同线程同时修改。 api文...

阅读更多