cpp的一些宏定义总结

cpp的一些宏定义总结

alternative

#ifndef _ALT
#define _ALT(a, b) using a = b
#endif

#ifndef _ALT2
#define _ALT2(name)                       \
    _ALT(name##p, name *);                \
    _ALT(name##pc, name *const);          \
    _ALT(c##name##p, const name *);       \
    _ALT(c##name##pc, const name *const); \
    _ALT(name##r, name &);                \
    _ALT(c##name##r, const name &)
#endif

#ifndef _ALT3
#define _ALT3(ori, new) \
    _ALT(new, ori);     \
    _ALT2(new)
#endif

用法

_ALT3(string, str);
_ALT2(char);
_ALT2(int);
_ALT3(float, flt);
_ALT3(double, db);
_ALT2(bool);

_ALT是对一些已经存在的类进行合理的简单替换的宏
此宏罗列了以下几种常用的传入参数形式

  • T *
  • T * const
  • const T *
  • const T * const
  • T &
  • const T &

for循环

#define For(name, begin, end) for (int name = begin; name < end; ++name)
#define For0(name, end) For(name, 0, end)
#define Forc(name, data) for (auto name : data)
#define Forcp(name, data) for (auto &name : data)

用法

For(a, 0, 10) => for(int a = 0; a < 10; ++a)

使用这样的 for 宏将会更加容易阅读代码

有什么好的建议请在评论区留言 我会一一回复的~!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值