C++关键字之类型说明符 auto
作者:互联网
C++11新标准引入了auto类型说明符,用它就可以让编译器替我们去分析表达式所属的类型,auto让编译器通过初始值类推算变量的类型。
auto使用方法:
- 使用简单类型作为初始类型
auto i = 0, *p = &i; // 正确,i是整形,p是整形指针
auto sz = 0, pi = 3.14; // 错误,sz跟pi类型不一致
- 使用引用作为初始类型
使用引用其实是使用引用的对象,特别是当引用被作为初始值时,真正参与初始化的是被引用的对象的值,此时编译器会以引用的都西昂的类型作为auto的类型。
int i = 0, &r = i;
auto a = r; // r是对i的引用,此时a的类型为int
- 使用const类型作为初始类型,auto一般会忽略掉顶层const,同时保留底层const
const int ci = i, &cr = ci;
auto b = ci; // 忽略掉顶层const,b的类型为int
auto c = cr; // cr是对ci的引用,类型同上
auto d = &i; // d的类型是整形指针
auto e = &ci; // e的类型是指向整型类型的指针,对常量对象取地址是一种底层const
- 使用引用作为初始类型,初始值中的顶层const属性仍然保存
auto k = ci, &l = i; // k为整型,l为整型引用
auto &m = ci, *p = &ci; // m是整型常量的引用,p是指向整型常量的指针
auto &n = i, *p2 = &ci; // 错误,n是整型引用,p2是指向整型常量的指针
标签:ci,const,auto,C++,说明符,引用,类型,整型 来源: https://blog.csdn.net/weixin_44081533/article/details/119054763