auto是什么_auto C++

auto是什么_auto C++autoauto让编译器通过初始值来推算变量的类型——–因此,auto定义的变量必须有初始值.1.让引用对象作为初始值————————————–使用引用其实是使用引用的对象                                 inti=0,&c=i;                  a

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新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账号...

(0)


相关推荐

  • IDEA2021.5.1-2038激活码激活【在线注册码/序列号/破解码】「建议收藏」

    IDEA2021.5.1-2038激活码激活【在线注册码/序列号/破解码】,https://javaforall.cn/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

  • 配置JAVA_HOME「建议收藏」

    配置JAVA_HOME「建议收藏」配置JAVA_HOME1、新建系统环境变量JAVA_HOME变量值为C:\ProgramFiles\Java\jdk-12.0.12、编辑Path添加%JAVA_HOME%\bin3、新建系统环境变量CLASSPATH,变量值为.;%Java_Home%\bin;%Java_Home%\lib\dt.jar;%Java_Home%\lib\tools.jar1、新建系统环境变量JAVA_HOM…

  • seq2seq模型是什么_seq2seq原理

    seq2seq模型是什么_seq2seq原理1seq2seq模型简介seq2seq模型是一种基于【encoder-decoder】(编码器-解码器)框架的神经网络模型,广泛应用于自然语言翻译、人机对话等领域。目前,【seq2seq+attention】(注意力机制)已被学者拓展到各个领域。seq2seq于2014年被提出,注意力机制于2015年被提出,两者于2017年进入火热融合和拓展阶段。通常,编码器和解码器都是一个LSTM网络…

  • sql中declare声明变量_什么是变量说明

    sql中declare声明变量_什么是变量说明前言:最近在修改Android项目的后台业务实现,发现很多地方都需要跟数据库的表连接,视图,存储过程打交道,接触一段时间,感觉不会编写sql脚本真是硬伤,在此小结一下。

  • RSA加密算法(C语言实现)

    RSA加密算法(C语言实现)RSA算法流程说明—-适合密码学初学者看

  • java jasypt_jasypt命令行工具的使用说明

    java jasypt_jasypt命令行工具的使用说明jasypt能够以很简单的方式为Java项目提供加密功能,这种简单的方式体现着它的命令行工具,与Spring,Hibernate,Springsecurity,wicket等第三方框架的集成。本文参加jasypt官方网站:http://www.jasypt.org/下载jasypt包,解压缩到本地目录。如下图:根目录:命令行工具目录:说明:在lib目录下是jasypt的核心jar和与第三方组件…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号