【发布时间】:2013-12-03 02:00:51
【问题描述】:
这是我的作业:
编写一个函数来打印所有长度为 3 的字符串。你的
解决方案必须使用带有迭代器的 for 循环。
void print3(const set & str)
这是我的代码:
void print3(const set<string>& str){
string st;
set<string,less<string>>::iterator iter;
for(iter=str.begin();iter!=str.end();++iter)
{st=*iter;
if(st.length()==3) cout<<st<<' ';
}
}
但我认为这不好。有人有更好的代码吗?请帮我改进它。
-我还有一个关于迭代器的问题
string name[]={"halohg","nui","ght","jiunji"};
set<string> nameSet(name,name+4);
set<string>::iterator iter;
iter=name.begin();
如何使用迭代器访问 name[2]="ght"?
我试过iter+2,但它有一些问题。我想我必须使用随机访问迭代器,但我不知道如何使用它。
请帮我。非常感谢!
【问题讨论】:
-
这和 JavaScript 有什么关系?