auto的属性特征

#include <iostream>
using namespace std;int main() {//1.auto 变量必须在定义时初始化,类似于constauto i1 = 0; auto i2 = i1;//auto i3; //错误,必须初始化//2.如果初始化表达式是引用,则去除引用语义int a1 = 10;int &a2 = a1; // a2是引用auto a3 = a2; // a3是int类型,而不是引用auto &a4 = a1; // a4是 引用//3.去除顶层constconst int b1 = 100;auto b2 = b1; // b2 是 intconst auto b3 = b1; // b3是 const int//4.带上底层constauto &b4 = b1; // b4 是 const int 的引用//5.初始化表达式为数组时,推导类型为指针int arr[3] = { 1,2,3 };auto parr = arr; //parr 是 int * 类型cout << typeid(parr).name() << endl;//6.表达式为数组且auto带上&,推导类型为数组auto &rarr = arr; //rarr 是 int [3]cout << typeid(rarr).name() << endl;//7.函数参数类型不能是 auto//func(auto arg); //错误//8.auto并不是一个真正的类型,编译时确定//sizeof(auto); 错误return 0;
}

auto使用实例

auto推导的一个最大的优势在于拥有初始化表达式的复杂类型变量声明时简化代码

#include <iostream>
#include <vector>
#include <string>
using namespace std;int main() {vector<string> vs ={ "all","people","like","c++" };for (vector<string>::iterator i = vs.begin(); i != vs.end(); i++)cout << *i << " ";cout << endl;for (auto i = vs.begin(); i != vs.end(); i++) cout << *i << " ";cout << endl;for (auto &s : vs)cout << s << " ";cout << endl;return 0;
}

auto的详细参考

auto详细解释

c++中的auto关键字相关推荐

  1. 【小白学习C++ 教程】二十、C++ 中的auto关键字

    @Author: Runsen 在 C++ 11 之前,每种数据类型都需要在编译时显式声明,在运行时限制表达式的值,但在 C++ 新版本之后,包含了许多关键字,允许程序员将类型推导留给编译器本身. 有 ...

  2. 关于C/C++中的“auto”关键字

    C/C++ 98标准 C++03标准 早在C++98标准中就存在了auto关键字,那时的auto用于声明变量为自动变量,自动变量意为拥有自动的生命期.此用法是多余的,因为即使定义变量时不加" ...

  3. C++11 auto 关键字学习1

    在之前的 C++ 版本中,auto 关键字用来指明变量的存储类型,它和 static 关键字是相对的.auto 表示变量是自动存储的. C++11 中,使用它来做自动类型推导.也就是说,使用了 aut ...

  4. C++11新特性之auto关键字的使用

    一.auto关键字简介 auto这个关键字并不是一个全新的关键字,在旧标准中,它代表的是"具有自动存储期的局部变量":但是它在这方面并没有起到很大的作用,比如:auto int i ...

  5. C++中auto关键字

    该博文为原创文章,未经博主同意不得转载,如同意转载请注明博文出处 本文章博客地址:https://cplusplus.blog.csdn.net/article/details/105010028 a ...

  6. C++11 中的内联函数、auto关键字、for循环及空指针

    C++ 3 内联函数 概念 特性 auto关键字 定义 使用 auto与指针结合起来使用 在同一行定义多个变量 auto不能推导的场景 auto不能作为函数的参数 auto不能直接用来声明数组 基于范 ...

  7. C++中auto关键字编译错误解决

    auto可以自动帮我们推断变量的类型 但是在直接使用g++编译的时候出现了auto关键字定义的变量报错了,报的错误大概都是: "X does not name a type" &q ...

  8. auto关键字详解 C++

    C++98 auto 早在C++98标准中就存在了auto关键字,那时的auto用于声明变量为自动变量,自动变量意为拥有自动的生命期,这是多余的,因为就算不使用auto声明,变量依旧拥有自动的生命期: ...

  9. C++ auto 关键字的使用

    C++ auto 关键字的使用 https://www.cnblogs.com/KunLunSu/p/7861330.html C++98 auto 早在C++98标准中就存在了auto关键字,那时的 ...

最新文章

  1. LWIP网络接口管理
  2. oracle某个表丢失,丢失一个控制文件并恢复数据库
  3. 还在为数学建模的事发愁?带你一起来看看数模竞赛中必备的经典算法
  4. 阿里云MaxCompute被Forrester评为全球云端数据仓库领导者
  5. IOS 单行文本输入框 UITextField 使用
  6. Linux下如何编译Android源码~~~
  7. web Api 返回json 的两种方式
  8. (一)在Azure上创建完整的无服务器云原生应用程序
  9. raspberry ubuntu 修改源为清华_在Windows7基础上安装Ubuntu系统,实现双系统操作
  10. 【官方文档】Fluent Bit 安装
  11. python编写一个程序、判断用户输入的数是正数还是负数_编写一个程序,判断用户输入的数是正数还是负数。_学小易找答案...
  12. 347,猜数字大小 II
  13. Idea 插件下载缓慢,无法下载的解决方式
  14. 操作系统(02326)自考学习笔记/备考资料
  15. 英语作文计算机国际会议开幕词,英文国际会议演讲稿范文
  16. 标志设计|标识设计|商标设计|logo设计|的起源
  17. Windows安装jupyter教程
  18. DfE给学生提供的笔记本电脑感染了恶意软件
  19. 美团每日红包 青龙面板
  20. Linux文件许可权764意味着,chmod 777意味着什么

热门文章

  1. 如何定位并优化慢查询Sql
  2. 2019秋招面试常考题目
  3. 【Spring】基于注解的IOC案例
  4. 方差协方差以及协方差矩阵
  5. 操作系统学习笔记 第一章:操作系统概述(王道考研)
  6. GPU上的图像和信号处理
  7. 画笔Paint的使用
  8. 2021年大数据Hadoop(十一):HDFS的元数据辅助管理
  9. 2021年大数据Spark(三十二):SparkSQL的External DataSource
  10. Ubuntu 系统打开任务管理