〇、内存区域和初始化时机
已经初始化的static成员存在于.data段,未初始化的在.bss段,都初始化为0。
C和C++中静态局部变量的初始化方法不同。
- C中,初始化发生在代码执行之前,编译阶段分配好内存之后,就会进行初始化,所以在C语言中无法使用变量对静态局部变量进行初始化。
- C++中,初始化时在执行相关代码时才会进行初始化,主要是由于C++引入对象后,要进行初始化必须执行相应构造函数和析构函数,在构造函数或析构函数中经常会需要进行某些程序中需要进行的特定操作,并非简单地分配内存。
一、修饰全局变量
作用域:当前文件
生命周期:整个程序运行周期
二、修饰局部变量
作用域:当前函数
生命周期:整个程序运行周期
三、修饰普通函数
作用域:当前文件
四、修饰成员变量
属于当前类,而非某个对象,可以直接使用类名访问
五、修饰成员函数
属于当前类,而非某个对象,可以直接使用类名访问