读书人

请问一个关于new指针地址的有关问题

发布时间: 2012-04-17 15:06:33 作者: rapoo

请教一个关于new指针地址的问题
#include <iostream>
using namespace std;

int main(){
vector<string> vstr;
string cinstr;
while(cin>>cinstr){
string *str=new string;
*str=cinstr ; //str=&cinstr;
cout <<str<<endl;
vstr.push_back(str);
}

system ("pause");
return 0;
}
就是这段代码 ,使用*str=cinstr
每次while循环new出来的指针地址是不一样的

然而使用str=&cinstr ; 每次new出来的指针地址却都是一样的


请问这其中有什么机制或者原理吗?

[解决办法]
用str=&cinstr时已经就把new出来的地址丢掉了,
循环里每次都用cinstr的地址把new出来的替换掉,当然看到的地址都一样啦,都是cinstr的地址而已
[解决办法]

探讨
用str=&cinstr时已经就把new出来的地址丢掉了,
循环里每次都用cinstr的地址把new出来的替换掉,当然看到的地址都一样啦,都是cinstr的地址而已

读书人网 >C++

热点推荐