今日のコード

"main.cpp"
#include <iostream>
#include <vector>
#include <array>
#include <string>
#include <map>
 
using std::vector; //可変長配列
using std::array; //固定長配列
using std::pair; //ぺあ
using std::map; //マップ
using std::string; //文字列
 
const int array_size = 5;//定数宣言
 
int main()
{
	int a[array_size] = { 0,1,2,3,4 };
	//↑自分で、自分のサイズがわかりません
	//for (int i = 0; i < 5; i++) //かたいコーディング ハードコーディング
	for (int i = 0; i < array_size; i++)
	{
		a[i] = i + 2;
	}
	//array_sizeで配列長を指定して使う
	array<int, array_size > arr = {0, 1, 2, 3, 4};
	//for(int i = 0; i < arr.size(); i++)
	for (int i : arr)//<-配列の中身そのもののコピーを順に参照
	{
		std::cout << i << std::endl;
	}
	for (auto& i : arr) //<-配列の中身そのものを順に参照
	{
		std::cout << i << std::endl;
	}
 
	vector<int> varr = { 0,1,2,3,4 };//初期化によりサイズは5になる
	std::cout << "size: " << varr.size() << std::endl;
	int max = varr.size();
	for (auto i = 0; i < max; i++)
	{
		varr.push_back(i);
	}
	std::cout << "size: " << varr.size() << std::endl;
 
	for (int i = 0; i < varr.size(); i++)//カウンタを使って添え字でアクセス
	{
		std::cout << varr[i] << std::endl;
	}
	vector<double> varr2;
	varr2.push_back(0.2);
	varr2.push_back(0.4);
	varr2.push_back(0.8);
	varr2.push_back(0.10);
 
	//struct pairs
	//{
	//	int a;
	//	string b;
	//};
	//pairs a0 = { 0,"山田" };
	//a0.a に 0
	//a0.b に 山田が入っている
 
	vector<pair<int, string>> vpair = { { 0, "山田" },{ 5, "佐藤" },{ 8, "吉田" },{ 10, "田村" },{ 15, "長曾我部" } };
	//std::cout << a0.second << "さんは" << a0.first << "番です" << std::endl;
	for (auto& v : vpair)
	{
		std::cout << v.second << "さんは" << v.first << "番です" << std::endl;
	}
	//連想配列
	map<string, int> vmap = { { "山田" ,0},{ "佐藤",5 },{"吉田",8 },{ "田村", 10 },{ "長曾我部" ,15} };
 
	std::cout << vmap["山田"] << std::endl;
	std::cout << vmap["長曾我部"] << std::endl;
 
	return(0);
}