sgn是什么函数(sgn是什么函数表达式)
12392023-12-05
各位老铁们,大家好,今天由我来为大家分享在c语言中内联函数有什么作用,以及内联函数一般不建议有循环的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!
本文目录
1.一个较为合理的经验准则是,不要内联超过10行的函数.
2.不要将析构函数定义为内联函数(即使不加inline)谨慎对待析构函数,析构函数往往比其表面看起来要更长,因为有隐含的成员和基类析构函数被调用!
3.另一个实用的经验准则:内联那些包含循环或语句的函数常常是得不偿失(除非在大多数情况下,这些循环或语句从不被执行).
4.递归函数不应该声明成内联函数.
5.虚函数和递归函数就不会被正常内联.
在moreeffectivec++中提到:inlined意味着编译期间将被调用的内联函数展开,无法知道哪个函数该被调用的时候,编译器无法将该函数加以inlining,虚函数大部分情况都是通过指向父类的指针或引用加以调用,此类行为无法被inlined
1.内联函数可减少cpu的系统开销,并且程序的整体速度将加快,但当内联函数很大时,会有相反的作用,因此一般比较小的函数才使用内联函数.2.有两种内联函数的声明方法,一种是在函数前使用inline关见字,另一种是在类的内部定义函数的代码,这样的函数将自动转换为内联函数,而且没必要将inline放在函数前面.3.内联是一种对编译器的请求,下面这些情况会阻止编译器服从这项请求.如果函数中包含有循环,switch或goto语句,递归函数,含有static的函数.由此可以看出,内联函数和成员函数没什么区别,区别就在于怎样加快函数的执行速度而已。
OK,本文到此结束,希望对大家有所帮助。