Auto 允许编译器自己来推断变量的类型,这种新功能是在c++11引入的。这个关键字结合for循环使用可以节省变量类型的重复输入。VS Code可以在鼠标移动到变量上之后直接显示变量的类型。
auto var1 {12}; //int
auto var2 {13.0}; //double
auto var3 {14.0f}; //float
auto var4 {15.0l}; //long double
auto var5 {'e'}; //char
//int modifier suffixes
auto var6 { 123u}; // unsigned
auto var7 { 123ul}; //unsigned long
auto var8 { 123ll}; // long long
Auto定义的变量在再次赋值的时候需要注意和它被推断的类型一致。否则会存入垃圾数值。
auto var3 {333u}; // Declare and initialize with type deduction
var3 = -22; // Assign negative number. DANGER!
std::cout << "var3 : " << var3 << std::endl;
输出结果:var3 : 4294967274
概念解释:
1.声明(declare):又称为定义,一个变量只能声明一次,重复声明(定义)会
导致编译器报错
2.初始化(initialize):第一次给变量赋值称为初始化,在声明一个变量的时候
一般要进行初始化,如果没有进行初始化会使用默认值或者存入垃圾变量
int a;
double b;
char c;
bool d;
std::cout << "a : " << a << std::endl;
std::cout << "b : " << b << std::endl;
std::cout << "c : " << c << std::endl;
std::cout << "d : " << d << std::endl;
输出结果:
a : 0b : -1.62211e+307
c :
d : 0 3.赋值(assign):在初始化后对变量的值进行修改 标签:初始化,变量,var3,Auto,数据类型,C++,long,auto From: https://www.cnblogs.com/zspaiprogram/p/17892995.html