c++预处理的补充

1)给替换变量加引号
    #define MYSTR "I love you"

    cout << MYSTR ; //I love you而不是"I love you"
    如果
    cout << "MYSTR" ; //则会输出"MYSTR"而不是"I love you"

    可以这样做
    cout << #MYSTR ;  //则会输出 "I love you"即cout << "\"I love you\"";

    2)在宏表达式中连接几个参数
    如
      #define join(a,b) ab 这样不会理解为参数a的值与参数b的值的连接,即如join(10,999)不会理解为10999而是把ab理解为字符串,即输出ab
    这时可以
    #define join(a,b) a##b

      则join(10,999)就会输出10999

 

 标准的预处理器宏

  __LINE__     当前源文件中的代码行号,十进制整数
  __FILE__   源文件的名称,字符串字面量
  __DATE__  源文件的处理日期,字符串字面量,格式mmm dd yyyy其中mmm是月份如Jan、Feb等 dd是01-31 yyyy是四位的年份
  __TIME__    源文件的编译 时间,也是字符串字面量格式是hh:mm:ss
  __STDC__   这取决于实现方式,如果编译器选项设置为编译标准的C代码,通常就定义它,否则就不定义它

  __cplusplus  在编译C++ 程序时,它就定义为199711L

 

 

原文链接: https://www.cnblogs.com/sdywcd_coffee/archive/2010/01/06/1640723.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    c++预处理的补充

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/6434

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月6日 下午2:41
下一篇 2023年2月6日 下午2:42

相关推荐