在 Java 中,静态变量只被实例化一次并且表现得像全局变量。
在效率和速度方面,有没有办法用C++来实现? 由于静态,在 C++ 中, block 不存在。
如果有一个像 Foo = 17 这样的常量,并且我正在创建该类的多个实例,我该如何防止该常量被多次实例化?
同样的语法是否也适用于结构体?
最佳答案
它的工作原理是一样的。您可能有一个函数,您希望跟踪该函数在整个程序生命周期中被调用的次数,这很简单……
int foo()
{
static int times = 0;
...
return times;
}
虽然毫无意义,但它确实符合您的描述。您可以在类里面做同样的事情。
class myClass
{
public:
static int many;
...
int getMany() { return many; }
};
这里的函数总是返回存在的实例数。
关于c++ - 如何在 C++ 中仅实例化一个变量一次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21670085/