1、如果Inline函数定义在cpp/c文件中,则本文件里的函数调用会转换为内联代码,但是其他文件的函数调用还是和普通函数一样(gcc标准和c99标准有差别,有可能链接时会找不到函数符号)。
2、如果inline函数定义在.h文件中,则其他文件的函数调用也会转换为内联代码。
3、由于内联函数调用时候不会压栈,所以函数不能是递归函数。
库里面定义的函数是不可能被inline的如果是库中的函数,那么 在别人用的时候会有头文件吧
如果inline的实现 是在头文件中,那么才可能真的起到内联的效果,不过那样也不能算在库里面了吧。
如果是库里面定义实现,头文件中声明为inline,那是没有inline效果的。
inline是内联函数,一般用于比较短小的会被经常调用的函数前面,当调用这个函数的时候不是采用链接的方式,而是相当于直接将函数体的代码贴到调用处,节省了资源加快了运行速度。const静态函数这里表示该函数体内不允许修改成员变量的值。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)