如果您在一个方法中创建一个局部静态变量,它是每个实例初始化一次,还是每个程序初始化一次?
这在 C++ 和 Objective-C 之间有区别吗?
最佳答案
If you create a local static variable inside a method, is that initialised once per instance, or once per program?
每个程序一次。
即使是在非静态类成员函数中,也不与任何类实例相关联;整个程序中只有一个变量实例,只初始化一次。
Does this differ between C++ and Objective-C?
在 C++ 中,它在第一次调用函数时被初始化。在 C(和 Objective-C)中,它在程序启动之前被初始化。实际上,这没有什么区别,因为初始化在 C 语言中不会有任何副作用。
关于c++ - 方法调用中的静态变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8943716/