C++小实验:在C++中实现类似于动态语言函数定义的宏

这篇博客探讨了如何在C++中使用宏来实现类似动态语言的函数定义功能,实验表明该方法在编译时需开启C++14支持。
摘要由CSDN通过智能技术生成

编译需要开启C++14支持

Code

// fun.h

#include<boost/preprocessor.hpp>

#define SIZE(...) BOOST_PP_TUPLE_SIZE((__VA_ARGS__))

#define _CAT(a, b) a##b
#define CAT(a, b) _CAT(a, b)

#define _STRING(a) #a
#define STRING(a) _STRING(a)

#define OP_HEAD(d, state, x) \
    (BOOST_PP_SUB(BOOST_PP_TUPLE_ELEM(2, 0, state), 1), \
     BOOST_PP_LIST_CONS(typename CAT(_, BOOST_PP_TUPLE_ELEM(2, 0, state)), BOOST_PP_TUPLE_ELEM(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值