c++のautoキーワード

1538 ワード

autoのプロパティフィーチャー
#include 
using namespace std;

int main() {
	//1.auto            ,   const
	auto i1 = 0; auto i2 = i1;
	//auto i3; //  ,     
	//2.           ,       
	int a1 = 10;
	int &a2 = a1; // a2   
	auto a3 = a2; // a3 int  ,     
	auto &a4 = a1; // a4    
	//3.    const
	const int b1 = 100;
	auto b2 = b1; // b2   int
	const auto b3 = b1; // b3  const int
	//4.    const
	auto &b4 = b1; // b4   const int    
	//5.          ,       
	int arr[3] = { 1,2,3 };
	auto parr = arr; //parr   int *   
	cout << typeid(parr).name() << endl;
	//6.       auto  &,       
	auto &rarr = arr; //rarr   int [3]
	cout << typeid(rarr).name() << endl;
	//7.          auto
	//func(auto arg); //  
	//8.auto          ,     
	//sizeof(auto);   
	return 0;
}

auto使用例
autoが導いた最大の利点は,初期化式を持つ複雑なタイプの変数宣言時にコードを簡略化することである.
#include 
#include 
#include 
using namespace std;

int main() {
	vector vs =
		{ "all","people","like","c++" };

	for (vector::iterator i = 
			     vs.begin(); i != vs.end(); i++)
		cout << *i << " ";
	cout << endl;

	for (auto i = vs.begin(); i != vs.end(); i++) 
		cout << *i << " ";
	cout << endl;

	for (auto &s : vs)
		cout << s << " ";
	cout << endl;

	return 0;
}

autoの詳細リファレンス
auto詳細説明