boost 中 cat.hpp 学习笔记

boost 中 cat.hpp 学习笔记

文章地址

https://www.lucien.ink

引入

Linux 需要 install 一下 libboost-dev 这个库,macOS 没有测,Windows 日常不在考虑范围内。

BOOST_PP_CAT 宏包含于 boost/preprocessor/cat.hpp 中。

用法

BOOST_PP_CAT(a, b)

这个宏会将 ab 从文本上连接在一起形成 ab

例子

https://pasteme.cn/2715

#include <bits/stdc++.h>
#include <boost/preprocessor/cat.hpp>

#define MY_CAT(a, b) a##b
#define c1 BOOST_PP_CAT(a, b)
#define c2 MY_CAT(a, b)

int main() {
    int ab = 512, a1 = 1024;
#define b 1
    printf("%d\n", c1);
    printf("%d\n", c2);
    return 0;
}

输出结果为:

1024
512

行为分析

最原始的字符连接仅仅是对于填入括号中的字符本身进行连接,而 BOOST_PP_CAT 会先进行宏转译然后再进行连接。

如有不对烦请指正。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值