期末 预习 复习C++时遇到的
我不理解这里的globalB
为什么要在外面特地声明一次。
再网上看了一些博客后有了一点思路:
在C++中,静态变量被存放在数据区,数据区的内存在编译时就已经分配好了。所以我们需要保证这些变量在编译阶段分配到需要的内存。而类的定义只在我们创建类的对象时才会执行,所以即使我们在类声明中声明了静态数据,但是并没有获得空间。所以我们就需要添加合适的代码在编译期间为其分配空间。
我们老师用的这种方法相当于显式的为A类的这个静态变量分配了内存。
注意,根据我们在编译期间分配空间的需求,我们也不能在主函数中进行声明。
啊,胡言乱语了一通,没心思深究了,接着预习去了,以后有机会再了解
类静态成员变量的初始化和内存分配
最新推荐文章于 2024-06-11 08:56:11 发布