2.3.4变量初始化规则:
当定义没有初始化式的变量时系统有时会自动初始化,这取决于变量在程序中定义的位置和变量类型。
一、内置类型初始化:
1、在函数体外定义的变量都初始化为0,在函数体内定义的变量则不进行自动初始化.
二、类类型变量初始化:
1、通过构造函数。
2、默认构造函数。
习题解答:
下列变量的初始值是什么(如果有)
std::string global_str;
int global_int;
int main()
{
int local_int;
std::string local_str;
//
return0;
}
答: 1、global_int 是在main函数外的内置类型变量,自动初始化为0;2、global_str是在main函数外定义的类类型变量,由构造函数进行初始化。
3、local_int是在函数内定义的内置类型变量,没有初始化没有初始值。