[C++]for_each()でVectorの全要素に特定の値を掛け算するには?

C++

どうも、ちょげ(@chogetarou)です。

for_each()を使ってVectorの全要素に特定の値を掛け算する方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

for_each()を使ってVectorの全要素に特定の値を掛け算するには、「*」を使います。

まず、algorithmをインクルードします。

#include <algorithm>

次に、for_each()を呼び出します。

for_each()の第1引数にVectorのイテレータの先頭、第2引数にVectorのイテレータの末尾を指定します。

for_each()の第3引数に、引数で要素の参照を受け取る関数を指定します。

そして、関数の処理で、引数に「*」で値を掛けます。

//myVec=対象のVector, T=要素の型, value=足す値
for_each(myVec.begin(), myVec.end(), [](T& item) { item *= value; });

上記のfor_each()は、Vectorの全要素に特定の値を掛け算します。

使用例

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

int main(void){
    
    vector<int> nums = { 11, 2, 8, 20, 7, 4 };
    
    for_each(nums.begin(), nums.end(), [](int& item) { item *= 100; });
    
    for(int item: nums) {
        cout << item << endl;
    }
    
    return 0;
}
出力:
1100
200
800
2000
700
400

コメント

タイトルとURLをコピーしました