前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C/C++宏之#与##

C/C++宏之#与##

作者头像
Qt君
发布2019-07-15 15:14:48
5320
发布2019-07-15 15:14:48
举报
文章被收录于专栏:跟Qt君学编程跟Qt君学编程

1. '#'为将其后面的宏参数进行字符串化操作

1.1 例子

代码语言:javascript
复制
#include <iostream>

#define ToString(s) #s

int main(int argc, char *argv[])
{
    std::cout<<ToString(sssss)<<std::endl;

    return 0;
}

1.2 输出

sssss

2. '##'为连接符,主要用于减少代码密度

2.1 例子

代码语言:javascript
复制
#include <iostream>
#define Concatenator(a, b) a##b

void ab() {
    std::cout<<"This is 'ab' function."<<std::endl;
}

int main(int argc, char *argv[])
{
    Concatenator(a, b)();

    return 0;
}

2.2 输出

Thisis'ab'function.

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-01-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Qt君 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. '#'为将其后面的宏参数进行字符串化操作
    • 1.1 例子
      • 1.2 输出
      • 2. '##'为连接符,主要用于减少代码密度
        • 2.1 例子
          • 2.2 输出
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档