C++11標準

1047 ワード

C++11は、C++0 xとも呼ばれる.現在のC++プログラミング言語の最新の正式標準(ISO/IEC 14882:2011)である.第2版の標準ISO/IEC 14882:2003(第1版ISO/IEC 14882:1998に公開され、第2版は2003年に更新され、それぞれC++98とC++03と呼ばれ、両者の差は小さい).C++11はコア言語の新機能を含み、C++標準ライブラリを拡張し、ほとんどのC++Technical Report 1ライブラリ(数学上の特殊関数を除く)を追加した.C++標準委員会は2010年8月までに最終委員会草案への投票を完了し、2011年3月3日に開かれる標準会議で国際標準の最終草案を完成する計画だ.最終的に2011年8月12日に発表され、2011年9月に出版された.2012年2月28日の国際標準草案(N 3376)は、現行標準に最も近い草案(編集上の修正)である.今回の基準は13年ぶりの重大修正だ.
#include <iostream>
using namespace std;
int main()
{
   int my_array[5] = {1, 2, 3, 4, 5};
   for(int x : my_array)
   cout<<x<<endl;
   }
   return 0;
}

for(int x:my_array)がjavaに似ているような気がしますか?そうですね.C++もこのように遊ぶことができます.
出力は
1
2
3
4
5
強いですね.これはRange based for loopの特性です.国語が下手です.これは翻訳しにくいです.サイクルレンジ制御特性と呼ばれます!
正常にコンパイルすると、range-based-for loops are not allowed in C++98 modeというエラーメッセージが返されます.
新しい特徴はgcc 4.60以降のバージョンにサポートが記入されているので、gcc 4.7にアップグレードする必要はありません.0版はC++11の新しい特徴も適用でき、C++は以前の標準と互換性がある.方法はコンパイル時にパラメータ-std=c++0 xを加えることです