2016 - 2024

感恩一路有你

内联表值函数 成员函数一定是内联函数?

浏览量:2502 时间:2021-03-14 02:45:55 作者:admin

成员函数一定是内联函数?

不一定。

成员函数属于对象,而静态函数属于类。如果函数是在类中定义的,编译器将默认为内联函数,如果函数的定义被输出,并且关键字inline被添加到函数的声明中,则函数将成为内联函数,否则它就是一个成员函数。

什么是内联函数啊~和普通的成员函数有什么区别吗?

内联函数定义:将函数定义为内联函数就是在程序的每个调用点将其“内联”展开。在函数返回类型之前添加inline关键字。在类声明中定义的成员函数自动成为内联函数。内联函数的应用:

1。重复调用函数;

2。函数只有几行,不包含for、while和switch语句。内联函数应该在头文件中定义,这与其他函数不同。

成员函数一定是内联函数吗?

不一定。当成员函数的主体写在类的声明中,并且没有循环语句和开关语句时,它是内联函数,其余的是非内联函数

内联函数比普通函数的优点如下:

消除了函数调用的时间开销。内联函数具有源代码级别的函数结构,但它们不具有编译后函数的属性。因为必须在调用函数之前保存寄存器,在函数返回时还原寄存器,并且复制实际参数,所以程序也必须在新位置执行。与宏定义相比,内联函数的优点如下:

1。内联函数可以在运行时调试,但宏定义不能。编译器会对内联函数的参数类型进行安全检查或自动类型转换(与普通函数相同),但宏定义不会。内联函数可以访问类的成员变量,但宏定义不能。在类内联函数中同时定义声明成员函数可以减少CPU开销,程序的整体速度会更快,但是当内联函数较大时,会产生相反的效果,所以一般用于较小的函数。2内联函数的声明方法有两种,一种是在函数前使用内联关系词,另一种是在类3中使用内联关系词。Inline是对编译器的请求。下列情况将阻止编译器遵从请求。如果函数包含循环、switch或goto语句、递归函数和静态函数,则可以看出内联函数和成员函数之间没有区别。不同之处在于如何加速函数的执行。

内联表值函数 内联函数与普通函数的区别 函数声明和定义的区别

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。