比如有一个CString类,该类中有有个全局的静态变量,该变量的作用是初始化CString类的成员变量。
在main函数里面构造一个CString对象,这时候的动作是什么呢?
C++内存布局:
文本段
全局区
堆区
栈区
如果有多个文件的时候,也是这么放。各个文件的各个区域对应各个布局。比如:
file1.cpp文件
static int = 10;
file2.cpp
int c;
这样在全局区就有2个c,不过由于静态变量的作用范围限于一个文件内,所以只有file1能访问静态变量c.同时还有变量覆盖规则,本文件可以覆盖另外文件的变量名。