初来乍到,自己看书理解的,写的一个小的总结,有不完全不正确的地方,望大神与前辈多多指点!
宏是在预处理器在预编译时期处理的,而内联函数是在编译控制器在编译时期处理的。内联函数和宏的优点就是在调用的时候不需要使用堆栈对
其进行数据保存和恢复,因为编译器会把内联函数和宏在调用时直接替代和展开。普通函数是当程序调用时会先把当前区域内的所有数据进行保存
也就是压栈,当在子程序中执行完成后回到主程序,继续将现场恢复,也就是出栈操作。所以宏和内联函数极大的优化了空间和时间的效率。
虽然如此,但是内联函数还在效率优化上进行了类型的安全检查和自动的转化,这一点宏却做不到,所以宏的使用是非常容易出错的!