どうも、ちょげ(@chogetarou)です。
for_eachを使って配列(array)を後ろからループする方法を紹介します。
方法

for_eachを使って配列(array)を逆順でループするには、rbegin()とrend()を使います。
まず、for_eachを呼び出します。
次に、for_eachの第1引数にrbegin()、第2引数にrend()を指定します。
for_eachの第3引数に、引数1つの関数を指定します。
関数の{}内に、ループ処理を指定します。
(関数の引数で、配列の要素を取得)
そして、rbegin()とrend()の両方の引数に、配列を指定します。
//T=要素の型, myArray=対象の配列
for_each(rbegin(myArray),
rend(myArray),
[] (T x) {
//ループ処理
//引数で要素を取得
});
上記のfor_eachは、配列を逆順でループします。
使用例
#include <iostream>
using namespace std;
int main(void){
int nums[6] = { 1, 2, 3, 4, 5, 6 };
for_each(rbegin(nums),
rend(nums),
[] (int x) {
cout << x << endl;
});
return 0;
}
出力:
6
5
4
3
2
1
コメント