のんびりしているエンジニアの日記

ソフトウェアなどのエンジニア的な何かを書きます。

C++11 型推論(auto,delitype)

Sponsored Links

皆さんこんにちは
お元気ですか?私はベッドの上でぷらぷらしてます。

さて、本日は型推論について

型推論(かたすいろん)とはプログラミング言語の機能の1つで、静的な型付けを持つ言語において、変数や関数の型を宣言しなくてもそれを導くのに使われた関数の型シグネチャなどから自動的に型を決定する機構のこと。主に関数型言語で用いられる。

つまり、自動的に型を決めてくれる素晴らしいシステムです。

C++11ではそれを実行することができます。
実際に例を見てみましょう。

#include <iostream>

int main(void){
	int a = 0;
	auto b = 5;

	decltype(a) c = 100;
}

C++11において2つの方法があります。
1つはauto,2つ目はdecltype(a)です。
decltype(a)のaは変数です。

ちなみにC++だとこれはコードを簡単に読むのに結構使えそうですね。以下のような変数の宣言があるとたまったものじゃない。

vector<pair<int,pair<int,string> > >