【发布时间】:2016-01-26 19:11:21
【问题描述】:
当我这样做时:
for(i=0; i<size; i++){
//create objectA here
vectorA.push_back(objectA);
pvectorA.push_back(&vectorA[i]);
}
pvectorA 的某些元素是垃圾。但是,当我这样做时:
for(i=0; i<size; i++){
//create objectA here
vectorA.push_back(objectA);
}
for(i=0; i<size; i++){
pvectorA.push_back(&vectorA[i]);
}
一切正常。为什么会这样?
【问题讨论】:
-
你是如何创建
objectA的?主要区别在于,在第一个版本中,您每次添加一个不同的指针,而在第二个版本中,您将相同的指针推送到pvectorA,objectA、size次 -
抱歉,我编辑了问题。
标签: c++ pointers vector stl push-back