C++为何两次输出不一样?

如题所述

A B C三个类在每次生成类的实例的时候才会产生输出,在func方法中,每次都会进行类实例的声明,其中A和C声明的是局部变量,func运行结束即被收回(生命周期),而B声明的静态变量,除非主动释放掉,是会一直存在的,第二次运行func时,B不会产生新的实例,也就没有输出。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2022-04-26
尽量避免定义static变量,尤其当你不懂static时干嘛的
第一次进入func,static B b会初始化一次.后续再进入func后,b就会复用前面的初始化,不再重新初始化新实例了.这时static变量的基本行为特征
相似回答