C++中在类里面直接定义的函数都是内联吗

来源:百度知道 编辑:UC知道 时间:2024/06/28 12:44:19
在类内部直接定义 没有加inline的函数都是内联吗
那么写在外部的函数 没有加inline呢?会不会比加了的慢很多?

好像inline现在确实很少用了,编译器都越来越智能了

tenglvjun说的对,编译器是否把函数编成内联,它有自己的判断,并不会因为你写了inline就一定是内联.就和register一样,并不是加了register,编译器就一定会把变量放到寄存器中

在类中直接定义相当于你写inline,这个叫做隐式内联,但是,不管是显示内联还是隐式内联,都只是给编译器一个请求,最后是否被判断成内联,还得看你的功能模块的复杂度来决定的。

现在的编译器一般能够自动优化代码,对于频繁调用的函数,编译器都识别出,并把它放到寄存器中,这样调用非常快。所以在函数前加不加inline都一样。
一样的不会,楼主可以用<time.h>头文件中的函数试一下。

简单的函数一般会变成内联的,不过很繁琐的还是会以函数调用的方式进行的

不一定,要看编译器怎么处理了