我是 C++ 新手,我想使用vector <unsigned int*> vec;
我试试这段代码:
vector <unsigned int*> vec;
unsigned int* tmpV= new unsigned int[4];
for(unsigned int i=0; i<4;i++){
tmpV[i]=i;
}
vec.push_back(tmpV);
unsigned int* tmpV2=vec.at(0);
cout<<"A) tmpV2[1]: "<<tmpV2[1] <<endl;
cout<<"vec.size(): "<<vec.size()<<endl;
for(unsigned int i=0; i<4;i++){
tmpV[i]=i+4;
}
vec.push_back(tmpV);
tmpV2=vec.at(0);
cout<<"vec.size(): "<<vec.size()<<endl;
cout<<"B) tmpV2[1]: "<<tmpV2[1]<<endl;
她的问题是我想为 A) 和 B) 输出相同的值,但它输出 A) tmpV2[1]: 1 B) tmpV2[1]: 5
我希望能够处理这个指针向量中的不同元素。我可以大致理解为什么会这样,但我找不到解决方案。
请记住,我不想使用:vector < vector <unsigned int> >