zoukankan      html  css  js  c++  java
  • 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是指向整型常量的指针
  • 相关阅读:
    Bellman算法
    Codeforces Round #378 (Div. 2) D
    运算符优先级
    Kruskal算法
    Java 大数运算
    无根树转有根树
    欧拉函数模板
    HDU 4135 Co-prime(容斥原理)
    快速求n的质因子(数论)
    Markdown中插入数学公式
  • 原文地址:https://www.cnblogs.com/SophieWang-cmu/p/12820481.html
Copyright © 2011-2022 走看看