c++ - 类中的静态局部变量是否在对象之间持久存在?

标签 c++ static instance

class MyClass
{
  static int staticInt;

  void instanceMethod( int param )
  {
    static int parameter = param;
  }
}

显然 staticInt 在 MyClass 的所有实例之间共享。但是 MyClass 的不同实例是否可以对 instaceMethod 中的静态局部变量 parameter 设置不同的值?

更新

程序执行之间呢?当然,它们在多个程序实例中可能会有所不同?那里定义“范围”的是什么 - 执行单元? C++ 运行时?

更新

谢谢 - 这帮助我解决了一个严重的错误。希望我能全部接受,但我会选择第一个答案,没有其他标准。

最佳答案

只有一个parameter实例。

如果您想为类的每个实例创建一个parameter 实例,请使用非静态成员变量。

关于c++ - 类中的静态局部变量是否在对象之间持久存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3016749/

相关文章:

java - 当未给出对象时,如何从另一个类调用 getter?

java - 验证类应该是静态类吗?

java - Java中空引用上的静态字段

Java:在作业中使用字符串作为实例变量。

java - 将数组列表中的对象添加到类的实例中

c++ - 函数指针和 C++ 模板

c++ - 仅在 travis-ci 上测试失败;不支持 RTTI?

c++ - 链接器错误 LNK1104 与 'libboost_filesystem-vc100-mt-s-1_49.lib'

class - 导入 haskell 模块说 "not in scope"

c++ - 无法在 QML ListView 中调用 Qt C++ 方法