私は経験豊富なMac/iOS開発者ですが、当初はC++でプログラミングを始めました。私は何年もC++に触れていませんでしたが、私が作成しようとしている新しい種類のファイルタイプをマルチプラットフォームでサポートしたいので、そうしましょう。OS X Lion C++ 11、Boostその他の質問
C++は、第三者図書館の非常に膨大な混乱と、言語の進化を制御するC++標準委員会の努力によって、長年にわたって進化してきました。したがって、私の質問。
できるだけ多くの高度なツールを自由に使いたいと同時に、可能な限り標準に準拠したいと思っています。私の主な開発プラットフォームはOS X Lionで、私はfedora 16のインストールにアクセスできます。私はLion以上、Windows XP以上、最新のLinuxカーネルを対象にしたいので、下位互換性は問題ではありません。
私のマシンにBoostライブラリをインストールすることをお勧めしますが、私はずっと前に経験したことがありますが、コンパイル時のエラーやOS Xの処理が必要な非常に辛いプロセスです。私は今それを試してみると、その経験が同じになるかどうかわからない。もう一つの選択肢は、ライオンが現在提供しているTR1に固執することです。しかし、TR1は私が理解しているように標準ではありません。これは、C++ 11で行われる予定の事実の事実上の普及した実装です。そうすれば、Boostが提供する多くの高度な機能を失うことになります。
これらの2つのオプションを手に入れて、高度なC++機能を自由に使い、できるだけ標準に準拠させるための推奨方法は何ですか?それがBoostなら、Boostをエンドユーザのマシンにインストールするのを避けるために、Boostを静的ライブラリとしてコンパイルすることをお勧めしますか?
Xcode 4.3 for C++ 11の現在のサポートは何ですか?
私は、上記の質問とその問題に関する他の考えに対するコメントを感謝します。私は現在のバージョンとC++の機能を同期させようとしていますが、これは私が最初に思ったほど簡単ではないかもしれないことに気付き始めます。
ありがとうございました。
非常に有益です。私はWindowsのC++サポートが難しいと想像しました。ウィンドウが途切れると(私はC#でこのライブラリを書くことができると思います)、Boostをライブラリの形で使用したいと思っていました.Boostを静的ライブラリとしてコンパイルし、ライブラリとリンクさせてトリックを行います静的ライブラリの場合は、配布可能なアーカイブの中にコードが埋め込まれているため、外部リソースは必要ありません)。 – csotiriou
@ChristosSotiriou:もしあなたがboostを静的にコンパイルするなら、それはちょうど*うまくいくはずです。さらに、C++ 11の機能を離れたり、Windowsライブラリを使わなくても、Windows用にも同じC++コードを使用できます。 –
@MatthieuM:C++ 11に対するVC2010のサポートはそれほど悪くはありません。必要なのは、自分が行っていることを知っていることだけです。移動コンストラクタを自分で記述する限り、r値参照を使用することはできます。もう少し限られた形のラムダだけでなく、いくつかの他のものを使うことができます。 Regexからshared_ptrからunique_ptrまでの、標準ライブラリの新機能の多くをサポートしています。 –