宏的单行定义
#define maxi(a,b) (a>;b?a:b)
宏的多行定义
宏可以替代多行的代码 关键是要在每一个换行的时候加上一个 "\ "
宏定义写出swap(x,y)交换函数
#define swap(x, y)\
x = x + y;\
y = x - y;\
x = x - y;
————————————————————————————————————————————————————————
CREATE_FUNC的定义
#define CREATE_FUNC(__TYPE__) \
static __TYPE__* create() \
{ \
__TYPE__ *pRet = new __TYPE__(); \
if (pRet && pRet->init()) \
{ \
pRet->autorelease(); \
return pRet; \
} \
else \
{ \
delete pRet; \
pRet = NULL; \
return NULL; \
} \
}
实际上就是写了一个create函数
create不是虚函数 所以并不是重写或覆盖父类的create 只是子类新增的一个函数 负责创建子类 new+init())+autorelease new的时候会调用父类构造