宏定义 续行符"/"

来源:互联网 发布:香港一年制研究生 知乎 编辑:程序博客网 时间:2024/05/18 14:26

续行符

    宏定义规定,宏定义必须在一行里完成。所以用#define定义宏定义时,有时为了阅读方便,就加续行符"/"来换行。在普通代码行后面加不加都一样(VC是自动判断续行的)。
    例如:
    #define SomeFun(x, a, b) if(x)x=a+b;else x=a-b;
    这一行定义是没有问题的,但是这样代码很不容易被理解,以后维护起来麻烦,如果写成:
   
    #define SomeFun(x, a, b)
        if (x)
            x = a + b;
        else
            x = a - b;
   
    这样理解是好理解了,但是编译器会出错,因为它会认为#define SomeFun(x, a, b)是完整的一行,if (x)以及后面的语句与#define SomeFun(x, a, b)没有关系。这时候我们就必须使用这样的写法:
    #define SomeFun(x, a, b)/
    if (x)/
        x = a + b;/
    else/
        x = a - b;
   
    VC的预处理器在编译之前会自动将"/"与换行回车去掉,这样一来既不影响阅读,又不影响逻辑。
   
    注意:最后一行不要加续行符。


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/qiyanfeng/archive/2009/06/24/4293825.aspx