今夜は待望のGCC 4.7が登場し、そのリリースはプロジェクトの25周年に捧げられています。
このリリースは、新しいC ++ 11標準を広範囲にサポートしているため、主にC ++プログラマーを待ち望んでいます。
最も注目すべきイノベーション:拡張フレンド構文:
template<class W> class Q { static const int I = 2; public: friend W; }; struct B { int ar[Q<B>::I]; };
キーワードfinalおよびoverride
struct B { virtual void f() const final; virtual void f(int); }; struct D : B { void f() const;
非静的メンバーの初期化。
struct A { int i = 42; } a;
ユーザーリテラル。
constexpr long double operator"" _degrees (long double d) { return d * 0.0175; } long double pi = 180.0_degrees;
エイリアス宣言。
(ロシア語に翻訳する方法がわかりません)テンプレートの高度なtypedef。 明確にしてくれた
kharvdに感謝します。
template <class T> using Ptr = T*; Ptr<int> ip;
デザイナーの委任
(乾杯、乾杯、最もおいしい!) struct A { A(int); A(): A(42) { }
また、C ++ 11の標準ライブラリサポートの大幅な改善。
リリースに関するその他の変更点および詳細情報は、
こちらをご覧ください。UPD: 03.24.2012 Debianのsidブランチにビルドが登場しました。