【发布时间】:2014-02-21 00:37:52
【问题描述】:
我想为 C++0x/11 和非 C++0x/11 创建一个标头,以便向后兼容:
class Foo{
public:
Foo(){}
Foo(Foo&){}
#ifdef CXX0X //How to make it work here?
Foo(Foo&&){}
#endif
};
【问题讨论】:
-
@chris 这如何区分两个 C++ 版本?
-
@JohnKugelman
__cplusplus具有您可以测试的值。请参阅我评论中链接的问题。 -
@JohnKugelman,这是一个公平的开始。只需一次 Google 搜索即可获得答案。
-
@chris 那么你应该发布那个答案。并将其作为实际答案进行,以便人们对其进行投票。请不要在 cmets 部分回答问题。使用 cmets 询问更多信息或提出改进建议。
-
今后您还想了解 C++14 的一致性吗?