C++ 方法调用中的静态变量

C++ 方法调用中的静态变量,c++,objective-c,C++,Objective C,如果在方法中创建局部静态变量,是每个实例初始化一次,还是每个程序初始化一次 < C++ > Objul-C? < P>,每个程序都初始化一次。 ObjC++和ObjC方法之间没有差异 如果它是C,它可能会有所不同——如果(例如)该函数是静态内联函数,则C函数可以复制静态数据。因此,最终可能会出现冗余的静态变量 C++,每个程序一次。在方法或导出的C函数中,每个程序只初始化一次。Objective-C在这方面与C没有区别,因此方法中的局部静态变量在程序生命周期中只初始化一次 也可以看到,它可以帮

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


< C++ > Objul-C?

< P>,每个程序都初始化一次。

ObjC++和ObjC方法之间没有差异

如果它是C,它可能会有所不同——如果(例如)该函数是静态内联函数,则C函数可以复制静态数据。因此,最终可能会出现冗余的静态变量


C++,每个程序一次。在方法或导出的C函数中,每个程序只初始化一次。Objective-C在这方面与C没有区别,因此方法中的局部静态变量在程序生命周期中只初始化一次


也可以看到,它可以帮助您在Obj-C.< /P> < P> C++中使用静态变量,它最多初始化一次程序;初始化在第一次执行该方法时发生。(特别是在执行声明时。)

您根本没有方法的实例(至少在您可以创建更多方法的意义上没有)


<>模链接器怪异,你得到一个拷贝的每个方法,一个拷贝的任何静态变量。

< P>意识到,在C++中,如果你的类或方法是“模板化”,那么将为每个模板实例化创建一个自己的静态变量。例如,使用三种不同的模板参数类型会导致三种不同的静态变量

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

每个节目一次

即使它位于非静态类成员函数中,也不与任何类实例关联;整个程序中只有一个变量实例,仅初始化一次

< C++与Objul-C?< /P>有什么不同吗? <>在C++中,函数被调用时初始化。在C(和Objective-C)中,它是在程序启动之前初始化的。实际上,这并没有什么区别,因为在C语言中初始化不会有任何副作用