自己的方法
int _tmain(int argc, _TCHAR* argv[])
{
string str;
vector<string> svec1;
while(cin>>str)
svec1.push_back(str);
vector<string*> svec2;
for(vector<string>::iterator iter=svec1.begin();iter!=svec1.end();++iter)
{
//vector的下标元素不可以进行赋值操作!
//svec2[ix]=&*iter;
svec2.push_back(&*iter);
}
for(vector<string*>::iterator iter2=svec2.begin();iter2!=svec2.end();++iter2)
{
cout<<**iter2;
cout<<(*iter2)->size();
}
return 0;
答案提供的方法:
int _tmain(int argc, _TCHAR* argv[])
{
vector<string*> spvec;
string str;
while(cin>>str)
{
string *pstr=new string;
*pstr=str;
spvec.push_back(pstr);
}
for(vector<string*>::iterator iter=spvec.begin();iter!=spvec.end();++iter)
{
cout<<**iter<<(**iter).size()<<endl;
}
for(vector<string*>::iterator iter1=spvec.begin();iter1!=spvec.end();++iter1)
{
delete *iter1;
}
return 0;
}