自己做的习题,有错误敬请指正.
值得注意以下几点:
1.iterator 的使用
2.上次没有提到,这次补上.
注意这里循环的用法:
for( iter = vecStr.begin();iter!=vecStr.end();++iter,times++)
结束条件是 iter != vecStr.end().
包括上次的for( vector::size_type ix =0; ix != iVec.size(); ++ix)
这种以 "不等于" 作为 循环结束条件的方法,是书里面 "安全的范型编程"一小节 所强调的.
#include<iostream>
#include<string>
#include<vector>
using std::cin;
using std::cout;
using std::endl;
using std::vector;
using std::string;
int main()
{
vector<string> vecStr;
string strTemp;
while( cin>>strTemp)
{
vecStr.push_back(strTemp);
}
vector<string>::iterator iter;
for( iter = vecStr.begin();iter!=vecStr.end();++iter)
{
string::iterator iterStr;
for(iterStr = (*iter).begin();iterStr!=(*iter).end();++iterStr)
{
(*iterStr) = toupper((*iterStr));
}
}
int times = 0;
for( iter = vecStr.begin();iter!=vecStr.end();++iter,times++)
{
if(!(times%8))
{
cout<<endl;
}
cout << *iter << ' ';
}
cout << endl;
return 0;
}