在开发c++过程中,宏是一个不可或缺的角色,今天将以前项目中使用频率最高的宏拿出来分享下,欢迎大家补充或者拍砖。希望可以在学习c++过程中取得更多的进步。
/* 安全删除指针 */
#define SFDelete( ptr ) do { if ( ptr ) { delete ( ptr ); ( ptr ) = NULL; } } while(0)
/* 安全释放指针 */
#define SFFree( ptr ) do { if ( ptr ) { free ( ptr ); ( ptr ) = NULL; } } while(0)
/* 设置位 */
#define SETBIT(b,i) (b |= (1<<(i)))
/* 清除位 */
#define CLEARBIT(b,i) (b &= (~(1<<(i))))
/* 检测位 */
#define CHECKBIT(b,i) ((b & (1<<(i)))>>(i))
/* 取最小值 */
#define LIMIT_MIN(value,min) value = (value<min)?min:value
/* 取最大值 */
#define LIMIT_MAX(value,max) value = (value>max)?max:value
/* 三个数取最大值 */
#define MAX(a,b,c) (a>b?(a>c?a:c):(b>c?b:c))
以上是经常用到的一些宏定义,当然实际项目中还是有大量的特殊宏,就不一一列举了。
还请各位补充。谢谢