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


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

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/195836.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 关系数据理论-数据库习题

    关系数据理论-数据库习题设有关系W(工号,姓名,工种,定额),将其规范化到第三范式正确的答案是()。A.W1(工号,姓名),W2(工种,定额)B.W1(工号,工种,定额),W2(工号,姓名)C.W1(工号,姓名,工种),w2(工种,定额)D.以上都不对正确答案:C3NF要求没有部分依赖和传递依赖,“定额”直接依赖“工种”,传递依赖“工号”。规范化的实质是概念的单一化,“一事一地”,一个关系只描述一个概念。规范化理论是关系数据库进行逻辑设计的理论依据。根据这个理论,关系数据库中的关系必须满

    2022年10月16日
    0
  • Java this 关键字用法

    Java this 关键字用法介绍Java中this关键字的用法,包括在构造方法中this关键字的用法,非在构造方法中this关键字的用法,继承关系下this关键字含义的变化,以及super和this关键字的异同。

    2022年6月25日
    18
  • 程序员修炼法则_程序员进阶之路

    程序员修炼法则_程序员进阶之路程序员的修炼法则一,你适合当程序员吗,你知道编程序是怎么回事吗1,程序员意味着要编程序.(如果你仅仅想得到一份高薪水的工作,喝喝咖啡就等老板发薪水,我奉劝你还是另找一份更合适的工作,譬如练摊,真的,兄弟,这份工作不适合你)2,你是学文的还是学理的,编程序也许需要浪漫,但更需要逻辑和严谨.(说坦白点就是,在你没有找到乐趣以前,它很枯燥)3,你有对新技术追求的热情吗你有刨根问底的…

    2022年10月6日
    1
  • WebService 实例应用

    WebService 实例应用两个工程分别部署在两台电脑上:webservice_client客户端  webservice_server:服务器端先说服务器导入jar包改写xml文件:cxfcom.rainspnsor.webservice.CXFNonSpringServiceImpl0cxf/services/*然后创建类:1util中:

    2022年7月21日
    13
  • docker 镜像构建_如何更新docker镜像内的文件

    docker 镜像构建_如何更新docker镜像内的文件前言如果我们已经安装了一个python3的环境,如果另一台机器也需要安装同样的环境又要敲一遍,很麻烦,这里可以配置Dockerfile文件,让其自动安装,类似shell脚本Dockerfile编写

    2022年7月31日
    7
  • 火狐浏览器怎么查看页面加载了那些js文件,那系js文件有作用

    火狐浏览器怎么查看页面加载了那些js文件,那系js文件有作用

    2021年9月19日
    124

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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