c++ - std::vector 与 array[number] 相同吗?

标签 c++ stl vector

<分区>

Possible Duplicate:
Are std::vector elements guaranteed to be contiguous?

std::vector 是否总是包含顺序内存地址中的数据作为数组[数字]?

最佳答案

对于除 bool 之外的所有类型,标准要求元素在内存中是连续的:

23.2.4/1 ... The elements of a vector are stored contiguously, meaning that if v is a vector where T is some type other than bool, then it obeys the identity &v[n] == &v[0] + n for all 0 <= n < v.size()

请记住 std::vector<bool>有特殊要求,与bool数组不同。

关于c++ - std::vector 与 array[number] 相同吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3077748/

相关文章:

c++ - Qt +启动后隐藏窗口

c++ - 如何将原始 MBCS 字符串 (SHIFT-JIS) 从 Windows 转换为 Linux 上的 UTF-8

c++ - std::queue<T, list<T>>::size() 在 O(n) 中很慢?

c++ - 如何在字符串数组中存储更多数量的字符串

c++ - 如何将 STL vector 传递给采用 const [] 的函数 (c++)

c++ - QT Creator 没有链接

c++ - 读取二进制文件的问题(ascii 和二进制的混合)

c++ - 为什么似乎没有必要包含一些 STL header

C++ 映射,查找元素并将其插入另一个映射(不复制)

c++ - std::vector 插入错误