0
Q
什么是内联函数?
A
回答
1
内联函数以与函数相同的方式评估它的参数(或者至少您可以这样想)。这可以防止发生典型的宏观错误。另一方面,通过声明函数是内联的,你可以提示编译器避免函数调用,只需将代码中的指令插入代码中(就像宏一样)。
简而言之,它比宏更安全,但仅仅是编译器的一个提示。编译器不会被迫避免函数调用(至少如果我正确地记得它)。
顺便说,例如, “典型的宏错误” 的:
#define SQUARE(a) (a*a)
int x = 10;
int square = SQUARE(++x); // this turns out to be 11 * 12, instead of 11 * 11
内联函数会进行11 * 11来代替。
+1
其实这里的结果是未定义的。 – 2010-09-25 18:34:20
相关问题
- 1. 什么是方法内联?
- 2. 什么是内联脚本?
- 3. 什么是“内联线程”?
- 4. 什么是从匿名函数返回值的内联语法?
- 5. 什么时候应该使用宏而不是内联函数?
- 6. 内联函数的确切用法是什么?
- 7. 虚函数内联函数会发生什么情况?
- 8. 这是什么,以及什么vimscript函数与它相关联?
- 9. 为什么内联函数不能查看内部作用域?
- 10. 内联函数
- 11. 内联函数
- 12. 内联函数
- 13. 什么是关联数组?
- 14. 联动的内联函数
- 15. 内联会话它们是什么?
- 16. C++内联函数
- 17. SQL内联函数
- 18. 来自不同类的内联类函数,都是内联的?
- 19. 什么是打印内建函数的函数指针
- 20. 为什么Delphi编译器不内联汇编函数?
- 21. 协程与C++内联函数有什么不同?
- 22. 有什么方法可以内联递归函数吗?
- 23. 为什么void以这种方式使用内联函数?
- 24. 定义一个函数内联与否有什么区别?
- 25. 是否可以重写内联函数?
- 26. 内联函数是否为原子?
- 27. 总是内联的函数不同.so
- 28. 如果我们将递归函数作为内联函数会发生什么?
- 29. 在C++函数中使用内联优化的注意事项是什么?
- 30. 内联函数调用静态内联函数
在C++中有很多关于内联的问题,只要看看带标记问题的列表即可。 http://stackoverflow.com/questions/tagged/inline%20c%2b%2b – 2010-09-25 09:07:01