c++ - 方法体中的静态变量是否由所有实例共享

标签 c++

class MyClass
{
public:
 void method2()
 {
  static int i;
  ...
 }
};

MyClass 的每个实例是否共享一个值 i,还是每个实例都有自己的拷贝?

最佳答案

static,在这里,像在任何常规函数中一样运行。

这意味着 iMyClass::method2 中是static,所以它只有一个实例。

每个对象都有一个变量实例就是实例变量的用途。

关于c++ - 方法体中的静态变量是否由所有实例共享,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2380574/

相关文章:

c++ - Visual C++ 函数问题(及其他)

C++ Double 到 Int 转换复杂化

c++ - C 与 C++ 结构对齐

c++ - BOOST_PP_ITERATE() 结果为 "no such file or directory"

c++ - VS 自动并行化

c++ - 如何使用 lambda 避免代码重复 const 和非常量集合处理

c++ - 建议用户用 lambda 重写函数

c++ - 被调用者分配被调用者释放

c++ - 为什么 std::priority_queue::emplace 是对数的?

c++ - 有人如何将 double 或 float 除以二的倍数?