・変数定義と初期値+範囲決めが同時の時
std::vector<std::vector<int>> vv(col, std::vector<int>(raw, 1));
↑一つ目の列の大きさ
↑一つ目の列の大きさ
↑代入する初期値
std::vector<std::vector<int>> vv2;
vv2 = std::vector<std::vector<int>>(col, std::vector<int>(raw, -1));
サンプルコードを見てください。
#include <iostream>
#include <vector>
int main(){
int col = 5;
int raw = 7;
// 定義と初期値+範囲決めが同時
std::vector<std::vector<int>> vv(col, std::vector<int>(raw, 1));
// 大きさチェック
std::cout << "Column size:" << vv.size() << std::endl;
std::cout << "Raw size:" << vv.front().size() << std::endl;
// 変数チェック
for (int i = 0; i < col; i++){
for (int j = 0; j < raw; j++){
std::cout << vv[i][j] << "\t";
}
std::cout << std::endl;
}
// 定義と初期値+範囲決めが別
std::vector<std::vector<int>> vv2;
vv2 = std::vector<std::vector<int>>(col, std::vector<int>(raw, -1));
// 変数チェック
for (int i = 0; i < col; i++){
for (int j = 0; j < raw; j++){
std::cout << vv2[i][j] << "\t";
}
std::cout << std::endl;
}
return 0;
}
ちなみに、3次元は
std::vector<std::vector<std::vector<int>>> vv=vector<vector<vector<int>>>(5, vector<vector<int>>(6, vector<int>(7, 0)));
0 件のコメント:
コメントを投稿