当前位置导航:炫浪网>>网络学院>>编程开发>>C++教程>>C++基础入门教程

C++再学习系列: 避免使用宏

     宏是一种文本替换设施 ,宏替换发生在编译器的预处理阶段,此时 C++ 的语法和语义规则并未去作用,无法对宏的进行任何检查,这将为后续生成代码的编译埋下隐患。此外。宏语法仅能理解小括号和方括号 ,并不识别 template 的方括号 <> .举例:

    MACRO( Foo<int, double> )

    虽然 Foo<int, double> 是一个 C++ 实体,但是上面的宏将解读为传入 Foo<int 和 double> 两个参数。

    C++ 中用于取代宏的语法:

    常数 —— 使用 const 和 enum ;

    函数展开 ——inline 内联函数

    名称冲突 ——namespace

    通用函数 ——template

相关内容
赞助商链接