[C++]配列を0埋めするには?

C++

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

配列(array)をゼロ埋めする方法を紹介します。

スポンサーリンク

方法

配列(array)を0埋めする方法は、2つあります。

ループ

ひとつは、ループを使う方法です。

まず、配列のインデックスをループします。
(0から配列の要素数を「-1」した値までループ)

そして、ループ処理で、配列の全てのインデックスの要素に「0」を代入します。

//myArray = 対象の配列
for (int i = 0; i < size(myArray); i++) {
     myArray[i] = 0;
}

上記のループは、配列(array)の要素を0埋めします。

使用例

#include <iostream>
using namespace std;

int main(void){
    
    int nums[6] = { 1, 2, 3, 4, 5, 6 };
    
    for (int i = 0; i < size(nums); i++) {
        nums[i] = 0;
    }
    
    for (int item: nums) {
        cout << item << endl;
    }

    return 0;
}
出力:
0
0
0
0
0
0

std::fill()

もうひとつは、std::fill()を使う方法です。

まず、std::fill()を呼び出します。

std::fill()の第1引数にbegin()、第2引数にend()、第3引数に「0」を指定します。

そして、begin()とend()の両方の引数に、配列を指定します。

//myArray = 対象の配列
std::fill(begin(myArray), end(myArray), 0);

上記のstd::fill()は、配列(array)の要素を0埋めします。

fill()の3つの引数には、次のものを指定します。

  • 第1引数:イテレータの最初の位置
  • 第2引数:イテレータの最後の位置
  • 第3引数:埋める値

使用例

#include <iostream>
using namespace std;

int main(void){
    
    int nums[6] = { 1, 2, 3, 4, 5, 6 };
    
    fill(begin(nums), end(nums), 0);
    
    for (int item: nums) {
        cout << item << endl;
    }
    
    return 0;
}
出力:
0
0
0
0
0
0

まとめ

配列(array)を0埋めする方法は、次の2つです。

  • ループを使う方法
    for (int i = 0; i < size(myArray); i++) { myArray[i] = 0; }
  • std::fill()を使う方法
    std::fill(begin(myArray), end(myArray), 0);

コメント

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