define中的#和##
#s:将宏参数s变为字符串
a##b:将参数a和b连接起来
内联函数与宏
宏缺点:
1.不能进行参数有效性检查
2.参数类型不能作自动类型转换
3.不能访问类成员变量
4.容易产生二义性
内联函数:
要求不允许有循环或递归,如果不符合要求,会被当做普通函数
有参数类型检查
会使代码变长,占用内存
#s:将宏参数s变为字符串
a##b:将参数a和b连接起来
宏缺点:
1.不能进行参数有效性检查
2.参数类型不能作自动类型转换
3.不能访问类成员变量
4.容易产生二义性
内联函数:
要求不允许有循环或递归,如果不符合要求,会被当做普通函数
有参数类型检查
会使代码变长,占用内存