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

时间:2013-12-31 11:28:07

标签: c++ static inline

我阅读了以下不同来源,

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

    1. 如果内联函数访问静态成员,问题是什么?
    2. 为什么在内联函数中使用静态数据成员是不安全的?
    3. 请用一些明确的例子来解释。

1 个答案:

答案 0 :(得分:3)

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

您可以在此处找到有关静态+内联的类似讨论:static variables in an inlined function

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