for (char c : s)这种循环方式的使用
for (char c : s)这种循环方式的使用1、基于范围的for循环(c++11支持):1)这是C++11中新增的一种循环写法,对数组(或容器类,如vector和array)的每个元素执行相同的操作,此外string类也支持这种对字符的遍历循环操作。如: double prices[5] = {4.99,5.99,6.99,7.99,8.99};for(double x:prices)cou
for (char c : s)这种循环方式的使用
1、基于范围的for循环(c++11支持):
1)这是C++11中新增的一种循环写法,对数组(或容器类,如vector和array)的每个元素执行相同的操作,此外string类也支持这种对字符的遍历循环操作。
如: double prices[5] = {4.99,5.99,6.99,7.99,8.99};
for(double x:prices)
cout << x << endl;
其中,x最初表示数组prices的第一个元素,显示第一个元素后,不断执行循环,而x依次表示数组的其他元素。
2)在bash脚本和python脚本中,早已经支持此种写法,而c++11也已经吸取此种优点开始支持,对于类似的用连续
下标表示的类型,操作方便了很多。
3)总结:语言也会互相吸取对方的优点,字符的按照分隔符的分割在脚本中有函数,C/C++应该在新的版本中支持
————————————————
版权声明:本文为CSDN博主「shifouxinyu」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/shifouxinyu/article/details/70188944
示例代码如下:
#include <iostream>
#include <vector>
using namespace std;
class Solution {
public:
string convert(string s, int numRows)
{
if (numRows == 1)
return s;
vector<string> z_rows(numRows);
uint32_t cur_row = 0;
bool go_down = true;
for (char c : s)
{
z_rows[cur_row] += c;
cur_row += go_down ? 1 : -1;
if (cur_row == 0 || cur_row == numRows - 1)
go_down = !go_down;
}
string result;
for (string str : z_rows)
result += str;
return result;
}
};
2、进阶用法:
for(char &c : s)
可以实际地改变字符串s中的字符。
更多推荐
所有评论(0)