【发布时间】:2011-08-22 14:17:58
【问题描述】:
我想使用现代版本的 GCC 和 MSVC 附带的 TR1 库,但有细微的差别:在 GCC 中,我不得不说
#include <tr1/memory>
std::tr1::shared_ptr<int> X;
在 MSVC 中我不得不说
#include <memory>
std::shared_ptr<int> X;
我有两个问题:1)MSVC是自动运行在C++0x模式(相当于GCC的std=c++0x),还是默认也运行在C++98/03模式? 2)如何统一包含和命名空间?我在考虑“INCLUDE_TR1(memory)”之类的预处理器宏或类似的东西。
为了澄清,我想使用传统的标准 C++98/03; 不是 C++0x(否则没问题)。
如果有任何建议,我将不胜感激!
【问题讨论】:
-
std::tr1::shared_ptr 适用于我的 MSVC10。
-
MF:谢谢。 TG:您能给出的最一般的答案将不胜感激!
标签: c++ visual-c++ gcc tr1