abe*_*ier 12 c++ vector stdvector language-lawyer
我有一个std::vector在我称之为reserve一个较大的值.然后我检索data().
由于迭代data然后崩溃,我想知道这是否是允许的.被reserve强制更新data已分配内存的范围是多少?
son*_*yao 11
被
reserve强制更新data已分配内存的范围是多少?
不.标准只保证std::vector::data返回指针并且[data(), data() + size())是有效范围,capacity不关心.
§23.3.11.4/ 1矢量数据[vector.data]:
返回:指针,这
[data(), data() + size())是一个有效的范围.对于非空向量,data() == addressof(front()).