- 博客(1)
- 收藏
- 关注
原创 数据指针指向vector内元素,vector扩容后产生的错误。
vector vecInt;int a =1;vecInt.push_back(a);int* pA = &vecInt[0];cout for (int i = 0; i {vecInt.push_back(i);}cout 看上面一段代码,输出结果为:0025DC8:10025DC8:-17891602当vector扩充容量以后,vector申请新的空间,所有原来的数据复制到新的空间上,旧的空间删除。所以数据指针尽量不要指向经常变动的vector数据之上。解决办法有2个:1、直接复制元素实体出去使用。2
2011-02-16 14:28:00 879
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人