c++中istringstream流问题,求教
#include<iostream>
#include<sstream>
#include<string>
#include<iomanip>
using namespace std;
int main()
{
string s="abcdefgchijklmnopqrstuvwxyz";
char a,*p=&a;
istringstream input(s);
input>>p;
cout<<p<<endl;
cout<<setfill('*')<<setw(30)<<'*'<<endl;
cout<<s<<endl;
return 0;
}
为什么我将input里面的数据交给p后,s变量的地址就发生了变化,里边成了空的,cout<<s<<endl;就没办法输出;如果将char a,*p=&a;注释掉,改为string s1;input>>s1;就能正确?是不是>>重载,其右值只能为string类型,那s的地址怎么会变?求解答