zl程序教程

您现在的位置是:首页 >  后端

当前栏目

auto是什么_auto C++

C++ 什么 Auto
2023-06-13 09:13:45 时间

大家好,又见面了,我是你们的朋友全栈君。

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和引用

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。