c++ - 方法调用中的静态变量

标签 c++ objective-c

如果您在一个方法中创建一个局部静态变量,它是每个实例初始化一次,还是每个程序初始化一次?

这在 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/

相关文章:

ios - 从 UITableViewCell 内的 UITextField 中删除 Tap 手势

c++ - 排序后奇怪的输出

c++ - C++中的简单链表

c++ - Qt 5.3 : Accessing/returning/calling checkboxes that are created dynamically(? )

c++ - Qt creator gdb 使用调试助手进行远程调试

objective-c - NSArray 属性 : copy or retain?

c++ - 为什么我要启动一个线程 "suspended"?

ios - 提供具有适当权利的配置文件可防止推送通知注册

objective-c - InAppPurchases 不适用于 PhoneGap App

ios - Google gtl 框架集成在模拟器上出现错误,但在设备上使用