宏定义偷懒型set,get
2024-10-13 18:06:36
之前看到有这么一个写法
#define DEF_SET_GET(varType,varName,funName) \
private : varType varName; \
public : void set##funName(const varType varName); \
public : const varType get##funName(void) ;
太偷懒了=。=、、我竟然不晓得有这样的使用方法。##表示把funName与set相连成为一个新的变量。
比如:
#define getName(test) s##test
char *student = "wang er";
printf(getName(tudent));
这里就相当于直接打印了student。前提是这个student要被定义过。
类似于##的还有#号能将传入的參数转化成字符串
#define PRINT( n ) printf( "token" #n " = %d\n", game##n )
int token9 = 9;
int game9 = 99;
PRINT(9);
这个会打印
token9 = 99;
事实上还有#@能把參数转化成字符。只是仅仅有在Windows下能用。也就不多说了。新技能get√
最新文章
- 头像上传,拖拽,裁切(HTML5)版本
- 批处理学习:for语句详解【经典】
- 一些常见maven仓库
- SQL2012 提示评估已过期 解决方案- sql server问题
- 简单几何(数学公式+凸包) UVA 11168 Airport
- .NET企业轻量级开发框架(APS.NET+Spring.Net+NHibernate)
- mysql 误删除ibdata1之后如何恢复
- 【转载】socket的半包,粘包与分包的问题
- 浙江大学PAT考试1069~1072(2013-11-2)
- 代码重构:用工厂+策略模式优化冗余的if else代码块
- .Net开发之旅(一个年少轻狂的程序员的感慨)
- attr和prop的区别以及在企业开发中应该如何抉择
- DRF初识与序列化
- jQuery对象与DOM对象互相转换
- Linux 用户与组
- my eclipse 端口号被占用问题 Mac上
- 莫烦keras学习自修第二天【backend配置】
- luogu 2480 古代猪文 数论合集(CRT+Lucas+qpow+逆元)
- Git入门到高级系列1-git安装与基础命令
- nodejs ffi(DLL)
热门文章
- android view surfaceView GLSurfaceView
- 清北冬令营入学测试[ABCDEF]
- 洛谷 P4884 多少个1?
- 51Nod 快速傅里叶变换题集选刷
- 【洛谷】2602: [ZJOI2010]数字计数【数位DP】
- bzoj 1492
- Elasticsearch快速入门案例
- Codeforces Round #293 (Div. 2) D. Ilya and Escalator 概率DP
- [Database] MongoDB 副本集配置
- mysql文件目录详解 LINUX