string trimspace(string str)
{
string::iterator it = str.begin();
while ((it=find(it, str.end(), ' '))!=str.end())
{
str.erase(it);
if (it == str.end())
{
break;
}
}
return str;
}这是我在网上找的删除字符串内所有空格的一个函数,觉得很有用,想把它理解透彻,但苦于初学,看string库函数确实恼火,求大神给函数内的语句逐句释义一下,特别是“iterator it = str.begin()”和“while ((it=find(it, str.end(), ' '))!=str.end())”,定义it的意义是什么?while循环的判断条件怎么解释?在网上找半天资料也没理解清楚。
1 回答
米拉小胖子
TA贡献6条经验 获得超0个赞
iterator it = str.begin() //定义一个迭代器指向str的第一个字符 while ((it = find(it, str.end(), ' ')) != str.end()) // 用find函数葱it到str.end()里查//找有没有空格, 有空格就执行while里的句子,同时find返回查找到的指向空格的迭代器 str.end()指向str最后一个字符的后面一个位置 //我觉得你有必要先看一下容器和迭代器 勿在浮沙筑高台
- 1 回答
- 0 关注
- 1324 浏览
添加回答
举报
0/150
提交
取消