c++ - 是否有任何编译器忽略有关默认内联函数的 C++ 标准?

标签 c++ inline standards-compliance

<分区>

C++ ISO 标准说:“在类定义中定义的函数是内联函数。” *

你知道有哪些编译器会忽略这条规则吗?

您知道哪些编译器不会将“内联建议”放在那里吗?

(请不要重复有关内联的理论,我知道这一点 - 我需要一个实际的答案)

最佳答案

所有编译器都可以忽略他们决定忽略的任何内联建议。例如,如果他们认为函数太复杂,就不会内联。如果您获取函数的地址,该函数可能在某些地方被内联,但在其他地方生成一个完整的函数以供地址指向。

当您在类定义中定义函数作为对编译器的建议时,请考虑inline 和隐式内联。

关于c++ - 是否有任何编译器忽略有关默认内联函数的 C++ 标准?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/654923/

相关文章:

c++ - 如何在 MSBuild 中强制使用 C++ 平台?

c++ - C++ 中的变量初始化

javascript - 是否可以将内联 javascript/css 添加到 magento block ?

c++ - const 内置类型是否在 C++ 中内联?

flutter - 可以将 Flutter 用于符合 Hipaa 的应用程序吗?

c++ - 在非 `constexpr` 上下文 : clang vs gcc 中的 -`constexpr` 函数中使用 lambda

c++ - 帮助解决错误 C2259 : cannot instantiate abstract class

C:对内联函数的 undefined reference

c++ - VS 2010 中 `<cmath>` header 缺少模板

c++ - std::ifstream::read 或 std::ofstream::write 参数为零?