2009-09-12 13 views
9

本番環境でGCC 4.4.0 C++0xサポートを使用している人はいますか?最新のMinGWで使用することを考えていますが、十分に成熟しているかどうかはわかりません。プロダクションでGCCのC++ 0xモードを使用していますか?

私が興味:私は生産にGCC 4.4.0 C++ 0xのサポートを使用していないよ

  • TR1サポート
  • 自動
  • 初期化子リスト
+6

TR1のサポートは、C++ 0xよりも前になっているため安全です。オートも同様に無害なようです。実装にバグがあっても、実行時のバグではなく、簡単に修正できるタイプのエラーとして表示されます。 – jalf

答えて

4

IMHO、TR1サポートおよびautoは安全に使用できます。 autoの場合、これは標準に含まれる最初の機能の1つであり、言語に対する比較的小さな変更です。したがって、私はそれを使用しても問題ありません。

initializer listsを使用することについて少し躊躇します。他のいくつかのフォーラム(comp.lang.C++ moderatedなど)では、彼らの行動や、それらが標準のリリースに近いところで変更される可能性があるという疑問があります。

4

が、私はブーストライブラリhttp://www.boost.org/の助けを借りてTR1機能を使用しています。

ブーストライブラリは十分にテストされており、実稼働環境でよく使用されています。後でC++ 0x標準に変換する場合は、インクルードディレクティブhttp://www.boost.org/doc/libs/1_40_0/doc/html/boost_tr1.htmlを変更するだけです。

私の意見では、現在標準が終了するまでBoost Libraryを使用する方が良いです。これは、コンパイラにはまったく依存しない方法です。

2

MinGWは '-std = C++ 0x'でコンパイルされません。奇妙なことに、 '-std = gnu ++ 0x'は動作します。とにかくそれはバギーのようだと私はそれにカウントしません。

+1

私は推測します - エラーは、vwsprintfのようなワイド文字の機能がないためです。これは-std = C++ 98や-ansiでも発生します。よく知られているMinGWバグです。 C++ 0x固有のものはありません。 –

関連する問題