大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
auto
auto让编译器通过初始值来推算变量的类型——–因此,auto定义的变量必须有初始值.
1.让引用对象作为初始值
————————————–使用引用其实是使用引用的对象
int i=0,&c=i;
auto a=c;//a是int型变量
2.auto与引用
————————————一般来说,auto会忽略顶层const.
const int i=0,&j=i;
auto a=i; //a是一个int(而非const)
auto b=j; //b是一个 int (非const) 等同于auto b=i;
auto p=&i; //p是一个指向常量的指针(const int*),底层const
因此,当我们希望推断出来的auto是顶层const时,需要明确指出
const auto c=i;
————————————将引用的类型设置为auto,顶层const属性仍将保留
const int i=0;
auto &c=i; //c为const int
————————————要在同一条语句中定义多个auto变量时,初始值必须是同一类型
(符号*和&只从属于某个声明符,而非基本数据的一部分)
const int c=0;
auto &cr=c,*p=&c; //错误,这里cr为 const int , p对应的auto为 int
decltype
有的时候我们想用一个表达式的值推算出要定义变量的类型,但是又不想用该表达式的值初始化变量,这个时候可以选择decltype.它的作用是返回一个表达式的数据类型。
————————————与引用不同的是,它准确的返回顶层const和引用
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/195836.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...