C++ inline 函数的一些规则

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

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

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

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

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容