GCC と MSVC の最新バージョンに同梱されている TR1 ライブラリを使用したいのですが、微妙な違いがあります。GCC では、
#include <tr1/memory>
std::tr1::shared_ptr<int> X;
MSVCにいる間、私は言わなければなりません
#include <memory>
std::shared_ptr<int> X;
2 つの質問があります。1) MSVC は C++0x モード (GCC の std=c++0x と同等) で自動的に動作しますか、それともデフォルトで C++98/03 モードでも動作しますか? 2) インクルードと名前空間を統合するにはどうすればよいですか? 「INCLUDE_TR1(memory)」などのプリプロセッサ マクロについて考えていました。
明確にするために、従来の標準 C++98/03 を使用したいと思います。C++0x ではありません (そうでなければ問題ありません)。
どんな提案でも大歓迎です!