##まず、std::vectorとは,配列の長さを変えることのできる可変長配列です
###vectorの生成の仕方
vector.cpp
#include<iostream>
#include<vector>
using namespace std;
int main()
{
vector<int> na(5,1); //配列int型 na[5]の中身を1で初期化//11111と表示される
for (int i = 0; i < na.size(); i++)
{
cout << na.at(i); //配列naの中身を表示//1で初期化されているため、すべて1になる
}
return 0;
}
##vectorの生成方法(宣言)
###std::vector<型> 変数名(配列サイズ,初期値)!!初期値、配列サイズは定義しなくてもOK!!(ない場合配列サイズは0で初期化されます)
##Vectorの要素の中身の書き換え方
at.cpp
#include<iostream>
#include<vector>
using namespace std;
int main()
{
std::vector<int> na(5,1);
na.at(1) = 3;//添え字番号1の要素を3に書き換える
for (int i = 0; i < na.size(); i++)
{
cout << na.at(i);//表示の結果(13111 )
}
return 0;
}
##変数名.at(添え字番号)でアクセス可能 (中身の書き換え、中身の表示などに使える)
##要素の消し方
pop_back.cpp
#include<iostream>
#include<vector>
using namespace std;
int main()
{
std::vector<int> na(5,1);
na.pop_back();//末尾の要素を削除//forループで配列のサイズ文ループすると、全要素削除できる!
for (int i = 0; i < na.size(); i++)
{
cout << na.at(i);//pop_backされたので、要素が1減っている(結果→1111と表示される)
}
return 0;
}
###配列名.pop_back(); 末尾の要素削除可能
##配列サイズの取得
size.cpp
#include<iostream>
#include<vector>
using namespace std;
int main()
{
std::vector<int> na(5,1);
for (int i = 0; i < na.size(); i++)//配列サイズを取得して、サイズ分ループ
{
cout << na.at(i);
}
return 0;
}
###配列名.size();配列のサイズ取得
###サイズ取得してるループしたほうが、配列の長さが変わったときにすぐ対応できる!
nijigen.cpp
#include <iostream>
#include <vector>
using namespace std;
int main(int argc, char const* argv[])
{
vector< vector<int> > v (4, vector<int>(4));//4*4のint型配列の生成
for (int i = 0; i <v.size(); i++) {
for (int j = 0; j < v[i].size(); j++) {
v[i][j] = i * j;//配列番号の縦*横かけたものを代入
}
}
for(int i=0;i<v.size();i++){
for(int j=0;j<v[i].size();j++){
cout<<v[i][j]<<" ";//表示
}
cout<<endl;//改行
}
return 0;
}