推論型(auto)
C++は変数の型は明示的にしてはっきりさせなければならないが、テンプレート型などを利用すると複雑になってしまう。それを簡単に書くために推論型が追加された。
下記の例ではイテレータをautoを利用して簡潔な記述になっている。
[auto.cpp]
#include <iostream> #include <vector> //推論型のテスト int main() { using namespace std; vector<int> nums; nums.push_back(10); nums.push_back(20); nums.push_back(30); nums.push_back(40); nums.push_back(50); //before C++ //vector<int>::iterator it = nums.begin(); auto it = nums.begin(); while(it != nums.end()) { cout << *it << endl; ++it; } return 0; }C++11のコンパイル C++11対応のコードをg++でそのままコンパイルするとエラーが出るので コンパイルするには-std=c++11 オプションをつけてコンパイルします。 $ g++ -std=c++11 auto.cpp -o auto
でコンパイル出来れば成功です。
0 件のコメント:
コメントを投稿