auto类型说明符

c++11引入了auto 类型说明符

作用:让编译器替我们去分析表达式所属的类型.和原来那些只对应一种特定类型的说明符(如double)不同, auto 让编译器通过初始值来推算变量的类型.

显然, auto 定义的变量必须拥有初始值.

1 //由 val1 和 val2 相加的结果来推断 item 的类型
2 auto item = val1 + val2;   //item 初始化为 val1 和 val2 相加的结果

此处编译器将根据 val1 和 val2 相加的类型来推断 item 的类型.  eg. 如果这两个变量的类型是double ,则 item 的类型就是double , 以此类推.

使用 auto 也可以在一条语句中声明多个变量. 因为一条声明语句只能有一个基本数据类型,所以改语句中所有变量的初始基本数据类型都必须一样.

复合类型  常量  和 auto

(1)当引用被用作初始值时, 真正参与初始化的其实是引用对象的值. 编译器以引用对象的类型作为 auto 的类型.

(2)auto 一般会忽略顶层const,同时底层const 会保留下来(对常量对象取地址是一种底层const)

(3)要在一条语句中定义多个变量,切记, 符号& 和* 只从属于某个声明符, 而非基本数据类型的一部分, 因此初始值必须是同一种类型:

1 auto k = ci, &I = i;  //  k 是整数 I 是整型引用
2 auto &m = ci , *p = &ci;  //  m 是对整型常量的引用, p是指向整型常量的指针

 

原文链接: https://www.cnblogs.com/SophieWang-cmu/p/12820481.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

    auto类型说明符

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/346116

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年3月2日 上午3:44
下一篇 2023年3月2日 上午3:44

相关推荐