C++内联函数

来源:互联网 发布:java数组输出空格 编辑:程序博客网 时间:2024/05/21 07:15
定义内联函数:
1)将函数的定义写在类定义体的内部。
2)将类定义体内部的函数声明上用inline显示指定。
3)在类定义体外部的函数定义上使用inline显示指定。

不过在定义内联函数的时候,需要注意一下几点:
1)内联函数中不允许出现循环语句,开关语句(switch-case)和递归调用的语句等。
2)在类内部定义并实现的函数都是内联函数。
3)再类定义处可以省去inline,不过实现处必须加上关键字。
4)如果在类内定义的成员函数,使用了for、while、do-while、switch等语句,该成员函数自动转化为非内联函数。
5)内联函数中不能有静态数据。
6)内联函数中不能有数组。

上面说的“不能有”不是“不准”,因为即使“有”,编译器也不会报错。虽然说去来是不能有,但是如果强行违背其规则使用的话,编译器也不会报错:它只是把这样的内联函数作为一般函数来处理,因而也就没有起到高效率的最作用,失去了使用内联函数的初衷!

原创粉丝点击