s****m 发帖数: 76 | 1 在关于输入一个string指针的vector的程序中,下面是可以运行的:
vector strpvet;
string str;
while(cin>>str)
{
string *strpt= new string;
(*strpt)=str;
strpvet.push_back(strpt);
}
但如果换成下面程序段,调试时输入第一个string之后就错误了,说这个源文件stop
working,输不进去第二个string了。这是为什么?new的作用什么动态分配,这怎么理
解呢?
vector strpvet;
string str;
while(cin>>str)
{
string *strpt;
(*strpt)=str;
strpvet.push_back(strpt);
} |
|