C++ 11预处理器有什么新东西?

Lig*_*ica 8 c++ c-preprocessor c++11

来自Microsoft的这张图片暗示,在支持C++ 14的路线图中,要在Visual Studio中完成支持C++ 11预处理器的工作:

一致性路线图:C++ 14之路(

这涉及到哪些变化?

Lig*_*ica 7

C++ 11预处理器有什么新东西?

C++ 03使用了C90预处理器,C++ 11在此基础上增加了C99预处理器的功能.这些新增功能包括:

  • 具有扩展整数类型的算术;
  • 混合字符串文字串联;
  • _Pragma 操作;
  • 可变宏和空宏参数.

这涉及到哪些变化?

即使在Visual Studio中这个图表也不多,因为微软实际上不必实现C11更改以获得C++ 11兼容性.在暗示这一点时,该图表可能被视为具有误导性; 显然他们正在针对C++ 14的一些C11支持,但是,再一次,我无法看到C11的变化很大.

但是,要实现与C++ 11的兼容性,根据Microsoft的图表,确实需要使自己达到适当的C99标准.

  • C++ 11预处理器是C99预处理器,而不是C90预处理器.特别是,支持可变参数宏. (3认同)