C++中宏和内联函数,函数的区别
2014-06-20 00:35
141 查看
初来乍到,自己看书理解的,写的一个小的总结,有不完全不正确的地方,望大神与前辈多多指点!
宏是在预处理器在预编译时期处理的,而内联函数是在编译控制器在编译时期处理的。内联函数和宏的优点就是在调用的时候不需要使用堆栈对
其进行数据保存和恢复,因为编译器会把内联函数和宏在调用时直接替代和展开。普通函数是当程序调用时会先把当前区域内的所有数据进行保存
也就是压栈,当在子程序中执行完成后回到主程序,继续将现场恢复,也就是出栈操作。所以宏和内联函数极大的优化了空间和时间的效率。
虽然如此,但是内联函数还在效率优化上进行了类型的安全检查和自动的转化,这一点宏却做不到,所以宏的使用是非常容易出错的!
宏是在预处理器在预编译时期处理的,而内联函数是在编译控制器在编译时期处理的。内联函数和宏的优点就是在调用的时候不需要使用堆栈对
其进行数据保存和恢复,因为编译器会把内联函数和宏在调用时直接替代和展开。普通函数是当程序调用时会先把当前区域内的所有数据进行保存
也就是压栈,当在子程序中执行完成后回到主程序,继续将现场恢复,也就是出栈操作。所以宏和内联函数极大的优化了空间和时间的效率。
虽然如此,但是内联函数还在效率优化上进行了类型的安全检查和自动的转化,这一点宏却做不到,所以宏的使用是非常容易出错的!
相关文章推荐
- 内联函数和普通函数的区别
- 内联函数与普通函数的区别是什么
- 内联函数与宏、普通函数的区别
- 内联函数和成员函数区别
- C++中宏和函数的区别
- 内联函数与普通函数的区别是什么
- 宏定义、内联函数、普通函数的区别
- 内联函数和成员函数区别
- 宏,内联函数和普通函数的区别
- 宏、函数、宏函数,内联函数的区别
- 内联函数与普通函数的区别是什么
- C++内联函数跟普通函数的区别以及实现机制
- 内联函数与普通函数的区别是什么
- 内联函数和普通函数的区别
- 内联函数与普通函数、成员函数与静态函数的区别(知识整理)
- 内联函数与普通函数的区别是什么
- 宏、内联函数和普通函数的区别
- 内联函数与普通函数的区别是什么(转)
- 宏函数、内联函数、普通函数的区别
- 关于宏和函数、内联函数的一些区别