在线等 c++容器指针和指针容器!!!!
申明了一个容器指针 std::vector<std::list<int> *> update_vector
更新的时候出现问题 该vector初始化大小为4
for(int i = 0; i < 4; i++){
std::list * data_list = update_vector.at(i);
data_list.push_back(i);
}
想要得到的结果是
1
2
3
4
实际上得到的结果是
1 2 3 4
1 2 3 4
1 2 3 4
1 2 3 4
请问这是什么问题?? c++ vector list 容器
[解决办法]
看不到你初始化的代码。但是从运行结果可以知道,update_vector中的4个元素值(指针)是相同的。都指向同一个std::list,所以出现以上结果。
[解决办法]
我也认为是这个原因导致的,另外这句:
data_list.push_back(i);
应该是data_list->push_back(i);吧