匯東網


用 vector 的时候,最好别保存其中单独一个元素的指针

[編輯] [转简体]
|
作者:huidong | 分類:【編程】C/C++
[ 10 瀏覽 0 評論 2 贊 3 踩 ]

概要

正文

vector 如果新增或者删除元素,其对应的整片内存空间都会重新分配。

所以说,如果你这样做:

vector<int> vec;
vec.push_back(123);
int* p = &vec[0];
vec.push_back(321);

这样的结果就是:p 会变成野指针……因为插入元素的时候,整个 vector 都重新分配了内存。


所以,别保存 &vec[0],不安全,用的时候直接用 vec[0] 就好了。

[ 2] [ 3]


 評論區  0 條評論

+ 添加評論