变量的存储类型——auto变量
变量的存储类型,是指在变量声明时,在前面加上,如:auto、static、register、extern四种存储类型关键词,这4种类型决定了变量的“存储位置”、“生命周期”、“作用域”和“初始值”。其中“auto”、“static”较为重要。
auto变量
也叫做“自动变量”,它的作用是让编译器自己推断变量的类型,在声明变量时省去书写变量类型的环节,即:
int a = 10;// 常规声明变量
auto b = ‘A’;// 这就是auto变量,我们不用写“char”,编译器通过后面的赋值推断出类型为char
但是 auto 变量要求变量必须被初始化,否则编译器无法推断类型。
auto i = 10;
auto f = 1.5f;
auto d = 4.3;
auto c = ‘A’;
auto b = true;
auto s = “string”;
以上变量类型,依次推断为:int、float、double、char、bool、string,我们可以看到每个变量都进行了初始化赋值,用于告诉编译器它的变量类型。
优点和缺点
优点:减少一些变量类型的拼写过程,提升代码的简洁性。在之后容器的使用中,它的优势会凸显出来。
缺点:一定程度影响了代码的可读性,并且要求一定在声明时进行初始化,否则编译器无法推断。