C++ inline 函数的一些规则
2017-08-12 本文已影响11人
赵者也
1.inline 函数必须在被调用之前定义(仅仅声明它是不够的);
2.在一个源代码模块中只能有一次 inline 定义;
3.如果类成员函数的定义出现在类定义之内,则成员函数就是隐式 inline 的。
如果函数太复杂,或者编译器的选项改变了,则编译器可能会忽略 inline 指令。大多数编译器会拒绝包含如下语句的 inline 函数:
- while,for,do...whille 语句;
- switch 语句;
- 超过一定数量的代码行。
如果编译器拒绝了 inline 函数,则会将其当成常规函数,并会生成常规函数的调用。