【C++踩坑】成员函数内的静态变量

个人记录用,一直以为成员函数内的静态变量不同实例是分别存储的。事实上是所有实例共享。

#include <iostream>

class Test {
public:
  void test() {
    static int i = 0;
    i++;
    std::cout << i << std::endl;
  }
};

int main() {
  Test t;
  Test t1;
  Test t2;
  t.test();
  t1.test();
  t2.test();
  return 0;
}

输出结果为:

1
2
3
posted @ 2023-03-13 20:30  Smalldy  阅读(20)  评论(0编辑  收藏  举报