如何解决从字符串中提取字符时,基于范围的循环和stringstream有什么区别
考虑类似字符串s =“ xyz123”的字符串。
for(char ch : s)
cout<<ch;
和stringstream之类的
char ch;
stringstream ss(s);
while(ss>>ch)
cout<<ch;
它们都提供相同的解决方案。在任何情况下两者的行为都不同吗? 何时应使用它们。
解决方法
第二个将跳过字符串中的任何空格。 >>
就是这样。
除非实际上需要跳过空格,否则也不需要第二个版本。当在字符串中内置有用于迭代的方法时,为什么要构造一个仅用于迭代字符串的新对象。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。