どうも、ちょげ(@chogetarou)です。
Vectorをゼロクリアする方法を紹介します。
方法

Vectorをゼロクリアする方法は、2つあります。
ループ
ひとつは、ループを使う方法です。
まず、Vectorのインデックスをfor文でループします。
(0からVectorの要素数を「-1」した値までループ)
そして、for文の{}内で、Vectorの全てのインデックスの要素に「0」を代入します。
//myVec = 対象のVector
for (int i = 0; i < myVec.size(); i++) {
myVec[i] = 0;
}
上記のforループは、対象のVectorをゼロクリアします。
使用例
#include <iostream>
#include <vector>
using namespace std;
int main(void){
vector<int> nums = { 1, 2, 3, 4, 5, 6 };
for (int i = 0; i < nums.size(); 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引数にVctorから呼び出したbegin()、第2引数にVectorから呼び出したend()を指定します。
そして、std::fill()の第3引数に「0」を指定します。
//myVec = 対象のVector
std::fill(myVec.begin(), myVec.end(), 0);
上記のstd::fill()は、対象のVectorをゼロクリアします。
使用例
#include <iostream>
#include <vector>
using namespace std;
int main(void){
vector<int> nums = { 1, 2, 3, 4, 5, 6 };
fill(nums.begin(), nums.end(), 0);
for (int item: nums) {
cout << item << endl;
}
return 0;
}
出力:
0
0
0
0
0
0
まとめ
Vectorをゼロクリアする方法は、次の2つです。
- ループを使う方法
for (int i = 0; i < myVec.size(); i++) { myVec[i] = 0; }
- std::fill()を使う方法
std::fill(myVec.begin(), myVec.end(), 0);
コメント