美文网首页
C++宏定义续行符

C++宏定义续行符

作者: 彦子凡 | 来源:发表于2018-03-30 16:28 被阅读29次

c++中经常遇到宏定义 ,宏定义要求的是一行完成 ,但是一般声明带有参数列表的宏定义的时候,由于函数体字符串太长,导致很长不能直观的看出来,如果自动换行又影响了一行完成的规定 所以诞生了续行符。

#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的预处理器在编译之前会自动将\与换行回车去掉,这样一来既不影响阅读,又不影响逻辑,皆大欢喜.

相关文章

  • C++宏定义续行符

    c++中经常遇到宏定义 ,宏定义要求的是一行完成 ,但是一般声明带有参数列表的宏定义的时候,由于函数体字符串太长,...

  • 刷题No2 宏定义#define

    宏定义:c++宏定义将一个标识符定义为一个字符串,源程序中的该标识符均以只定的字符串来代替。带参数的宏定义的一般形...

  • c++基础(宏)

    有关 c++ 中宏的定义以及使用是今天的重点内容。 C++ 的宏定义将一个标识符定义为一个字符串,源程序中的该标识...

  • JNI开发(一)

    一、宏 C++ 宏定义将一个标识符定义为一个字符串,源程序中的该标识符均以指定的字符串来代替,比如定义常量。C++...

  • MJRefresh代码总结

    多行宏定义注释 当定义的宏不能一行表达完整时,可以在行的最后加反斜杠,说明下一行继续此宏的定义,最后一行不要加续行...

  • 1.不带参数的宏定义: 宏定义又称为宏代换、宏替换,简称“宏”。格式:#define 标识符 字符串其中的标识符就...

  • 总结

    宏定义:宏定义的分为无参宏定义与有参宏定义。无参宏定义的一般形式为:#define 标识符 字符串。‘#’表示...

  • C++中反斜杠作用“\”

    ①转义字符;如:\n表示回车+换行等。 ②续行符; 在普通代码行后面加不加都一样(VC是自动判断续行的),但是在宏...

  • #define用法详解

    1.#define 的作用 在C或C++语言源程序中允许用一个标识符来表示一个字符串,称为“宏”。被定义为“宏”的...

  • 第九章-预处理命令

    一、宏定义。 1、不带参数的宏定义:#define 标识符 字符串 注意:(1)宏定义是用宏名替代一个字符串,也就...

网友评论

      本文标题:C++宏定义续行符

      本文链接:https://www.haomeiwen.com/subject/cbpicftx.html