C++ 杂记

C++ inline 函数的一些规则

2017-08-12  本文已影响11人  赵者也

1.inline 函数必须在被调用之前定义(仅仅声明它是不够的);

2.在一个源代码模块中只能有一次 inline 定义;

3.如果类成员函数的定义出现在类定义之内,则成员函数就是隐式 inline 的。

如果函数太复杂,或者编译器的选项改变了,则编译器可能会忽略 inline 指令。大多数编译器会拒绝包含如下语句的 inline 函数:

  1. while,for,do...whille 语句;
  2. switch 语句;
  3. 超过一定数量的代码行。

如果编译器拒绝了 inline 函数,则会将其当成常规函数,并会生成常规函数的调用。

上一篇下一篇

猜你喜欢

热点阅读