Pointers 如何使用'vector<;无符号整数*>;vec;`适当地

Pointers 如何使用'vector<;无符号整数*>;vec;`适当地,pointers,vector,int,Pointers,Vector,Int,我尝试以下代码: 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] <&

我尝试以下代码:

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;
vec;
无符号整数*tmpV=新的无符号整数[4];

对于(unsigned int i=0;i,这是因为您增加了向量中索引a处指针指向的值

vec

如果您在打印后重新打印

 valuecout<<"B) tmpV2[1]: "<<tmpV2[1]<<endl
valuecout<<"B) tmpV2[1]: "<<vec[1] <<endl
valuecout