gcc 4.8.1 如何指定__cplusplus的值?
在C++11的标准中有一部分新的库函数被这样子定义了(例如):
#if __cplusplus >= 201103L
void
push_front(value_type&& __x)
{ this->_M_insert(begin(), std::move(__x)); }
template<typename... _Args>
void
emplace_front(_Args&&... __args)
{ this->_M_insert(begin(), std::forward<_Args>(__args)...); }
#endif
但我不知道如何修改__cplusplus的值。
无论我在编译参数中用-D重定义宏,还是在代码中直接#define定义它,在编译时都会报警告:
warning: "__cplusplus" redefined [enabled by default]
所以请教一下,在gcc4.8.1中如何使用新标准中被#if __cplusplus >= 201103L扩起来的函数?