之前看到有这么一个写法

#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√

最新文章

  1. 头像上传,拖拽,裁切(HTML5)版本
  2. 批处理学习:for语句详解【经典】
  3. 一些常见maven仓库
  4. SQL2012 提示评估已过期 解决方案- sql server问题
  5. 简单几何(数学公式+凸包) UVA 11168 Airport
  6. .NET企业轻量级开发框架(APS.NET+Spring.Net+NHibernate)
  7. mysql 误删除ibdata1之后如何恢复
  8. 【转载】socket的半包,粘包与分包的问题
  9. 浙江大学PAT考试1069~1072(2013-11-2)
  10. 代码重构:用工厂+策略模式优化冗余的if else代码块
  11. .Net开发之旅(一个年少轻狂的程序员的感慨)
  12. attr和prop的区别以及在企业开发中应该如何抉择
  13. DRF初识与序列化
  14. jQuery对象与DOM对象互相转换
  15. Linux 用户与组
  16. my eclipse 端口号被占用问题 Mac上
  17. 莫烦keras学习自修第二天【backend配置】
  18. luogu 2480 古代猪文 数论合集(CRT+Lucas+qpow+逆元)
  19. Git入门到高级系列1-git安装与基础命令
  20. nodejs ffi(DLL)

热门文章

  1. android view surfaceView GLSurfaceView
  2. 清北冬令营入学测试[ABCDEF]
  3. 洛谷 P4884 多少个1?
  4. 51Nod 快速傅里叶变换题集选刷
  5. 【洛谷】2602: [ZJOI2010]数字计数【数位DP】
  6. bzoj 1492
  7. Elasticsearch快速入门案例
  8. Codeforces Round #293 (Div. 2) D. Ilya and Escalator 概率DP
  9. [Database] MongoDB 副本集配置
  10. mysql文件目录详解 LINUX