c++ - 在内联函数中使用静态数据成员

标签 c++ static inline

我阅读了以下不同的来源,

  1. 所有静态数据成员都在 main() 之前初始化(即使 main() 和静态数据成员存在于不同的翻译单元中)。 – 同意
  2. 内联函数在调用它们的每个源文件或翻译单元中都是重复的。 - 同意

明确指出静态数据成员在main() then之前初始化,

  1. 如果内联函数访问静态成员,问题是什么?
  2. 为什么在内联函数中使用静态数据成员是不安全的?

请举例说明。

最佳答案

使用静态成员和内联方法没有问题。

您可以在这里找到一些关于静态 + 内联的类似讨论:static variables in an inlined function

即使是静态变量,机制也是类似的。

关于c++ - 在内联函数中使用静态数据成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20856652/

相关文章:

c# - JIT 编译器是否优化(内联)不必要的变量声明?

c++ - 安全的虚拟决赛

java - 为什么在Thread类 "public static final int MAX_PRIORITY"中声明为int?

c - Perl:如何将所有内联 C 代码放入单独的文件中?

java - 静态变量什么时候初始化?

java - 关于字段的私有(private)静态最终关键字的快速 Java 问题

java - 内联扩展通用抽象 Template 类

c++ - 按类型检索可变参数类的给定成员

c++ - 从 C/C++ 构建 html 文档

c++ - OpenCV - 输入参数的大小不匹配 - addWeighted