在定义变量的时候没有指定初值,变量会被默认初始化。
是否初始化,初始化成什么值取决于:
1.变量类型;
2.定义变量的位置。
例如:内置类型的变量未被显示初始化的时候,定义在任何函数体外部的变量会被初始化,而在函数体内定义变量将不被初始化
代码示例如下:
#include <iostream>
#include <string>
std::string global_str;//将被初始化为空串
int global_int;//将被初始化为0
int main()
{
int local_int;//不会被初始化
std::string local_str;//会被初始化为空串,因为string不是c++的内置类型
std::cout << global_int << std::endl;
std::cout << global_str << std::endl;
//std::cout << local_int << std::endl;
std::cout << local_str << std::endl;
system("pause");
return 0;
}