c++ - 方法中的静态局部变量是一种不好的做法?

标签 c++ variables static

有些事情困扰着我。

在非线程程序中,局部静态变量(方法内部)还是静态类成员更好?

在这个例子中:

class C{
public: 
  C(){};
  void foo();
};

void C::foo(){
  static int bar = 0;
  bar++;
  printf("%d\n",bar);
}

如果 bar 仅在 C::foo() 中使用,是否被视为不良做法?

最佳答案

两者都不是更好。它们服务于非常不同的用例

关于c++ - 方法中的静态局部变量是一种不好的做法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4556417/

相关文章:

swift - 将 Swift 变量名转换为字符串,用作字符串?

c++ - 如何在 Eclipse 中将 C 项目与 C++ 静态库(使用 opencv)链接

java - 为什么我们可以使用 'new' 关键字来获取非静态外部类中静态内部类的引用?

java - 如何解决 "static method ___ should be accessed in a static way"警告

c++ - 什么样的前端/GUI 用于交易应用程序?

c++ - 如何在ubuntu上的opencv和dlib上裁剪图像

c# - C# 中的指针及其在应用程序中的使用频率?

c++ - C++远程读取文件

c++ - 来自 unsigned_int64 的意外行为;

php - 识别 PHP 未使用的变量