
用指针来操作c++ vector 时出现的问题。
我写了这样的一个函数来说明我的问题:#include<iostream>#include<vector>usingnamespacestd;intmain(){vecto...
我写了这样的一个函数来说明我的问题:
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int> v1;
v1.push_back(1);
int *p1 = &v1[0];
cout << "p1所对应地址和值:" << p1 << "," << *p1 << endl;//p1的初始所对应地址和值
v1.push_back(2);
cout << "p1所对应地址和值:" << p1 << "," << *p1 << endl;//vector压入新元素之后,p1所对应地址和值
return 0;
}
运行结果如下:
为什么在压入新元素之后,指针p1会出现这样的问题?谢谢! 展开
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int> v1;
v1.push_back(1);
int *p1 = &v1[0];
cout << "p1所对应地址和值:" << p1 << "," << *p1 << endl;//p1的初始所对应地址和值
v1.push_back(2);
cout << "p1所对应地址和值:" << p1 << "," << *p1 << endl;//vector压入新元素之后,p1所对应地址和值
return 0;
}
运行结果如下:
为什么在压入新元素之后,指针p1会出现这样的问题?谢谢! 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询