首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

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

2012-04-17 
请教一个关于new指针地址的问题#include iostreamusing namespace stdint main(){vectorstring vstr

请教一个关于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=&amp;cinstr时已经就把new出来的地址丢掉了,
循环里每次都用cinstr的地址把new出来的替换掉,当然看到的地址都一样啦,都是cinstr的地址而已

热点排行