C++中auto的使用

2023-11-11

1.C++中auto的使用

1.1auto简介

auto是一个C/C++语言存储类型,仅在语句块内部使用,初始化可为任何表达式,其特点是当执行流程进入该语句块的时候初始化可为任何表达式。C语言中提供了存储说明符auto、register、extern、static说明的四种存储类别。四种存储类别说明符有两种存储期:自动存储期和静态存储期。其中auto和register对应自动存储期。具有自动存储期的变量在进入声明该变量的程序块时被建立,它在该程序块活动时存在,退出该程序块时撤销。在函数内部定义的变量成为局部变量。在某些C语言教材中,局部变量称为自动变量,这就与使用可选关键字auto定义局部变量这一作法保持一致。

1.2auto简单使用

1.2.1自动推断变量类型

	auto tnumber = 9;
	auto tchar = 'a';
	auto tstring = "li";
	auto tauto = tnumber + 1;

	cout << tnumber << endl;
	cout << tchar << endl;
	cout << tstring << endl;

输出

9
a
li
10

1.2.2 for循环中的运用

for循环输出vector<int>
	vector<int> testNumber = { -2,0,0,2,2,1,-1,4,-5,3,5 };
	for (auto outNumber : testNumber)
	{
		cout << outNumber << ", ";
	}

输出

-2, 0, 0, 2, 2, 1, -1, 4, -5, 3, 5
for循环输出vector<vector<int>>
	vector<vector<int>> total;
	for (auto num: total)
	{
		for (auto tNum : num)
		{
			cout << tNum << ",";
		}
		cout << endl;
	}

输出

-505-514-523-2-13-20-2-101
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++中auto的使用 的相关文章

  • 更新面板工作速度非常慢

    我正在编写一个用户可以注册的应用程序 注册时 可以选择多个选项 并根据这些注册字段可见或不可见以及是否必需 我想出了一个想法 所有字段都将位于 updatePanel 中 当用户更改注册选项时 我将在服务器端设置这些字段的可见性 它可以工作
  • 前向声明类型和“已声明为类类型的非类类型”

    我对以下代码有问题 template
  • 当事件button.click发生时,如何获取按钮名称/标签?

    我以编程方式制作按钮并将它们添加到堆栈面板中 以便每次用户导航到页面时按钮都会发生变化 我正在尝试做这样的事情 当我单击创建的按钮时 它将获取按钮的标签并转到正确的页面 但是 我无法使用 RoutedEventHandler 访问按钮元素
  • 如何将 SOLID 原则应用到现有项目中

    我对这个问题的主观性表示歉意 但我有点卡住了 我希望之前处理过这个问题的人能够提供一些指导和建议 我有 现在已经成为 一个用 C 2 0 编写的非常大的 RESTful API 项目 并且我的一些类已经变得巨大 我的主要 API 类就是一个
  • 无法注册时间触发的后台任务

    对于 Windows 8 应用程序 在 C Xaml 中 我尝试注册后台任务 很难说 但我想我的后台任务已正确注册 但是当我单击调试位置工具栏上的后台任务名称时 我的应用程序停止工作 没有任何消息 我查看了事件查看器上的日志 得到 具有入口
  • 强制初始化模板类的静态数据成员

    关于模板类的静态数据成员未初始化存在一些问题 不幸的是 这些都没有能够帮助我解决我的具体问题的答案 我有一个模板类 它有一个静态数据成员 必须为特定类型显式实例化 即必须专门化 如果不是这种情况 使用不同的模板函数应该会导致链接器错误 这是
  • 什么是空终止字符串?

    它与什么不同标准 字符串 http www cplusplus com reference string string 字符串 实际上只是一个数组chars 空终止字符串是指其中包含空字符的字符串 0 标记字符串的结尾 不一定是数组的结尾
  • C++中判断unicode字符是全角还是半角

    我正在编写一个终端 控制台 应用程序 该应用程序应该包装任意 unicode 文本 终端通常使用等宽 固定宽度 字体 因此要换行文本 只需计算字符数并观察单词是否适合一行并采取相应的操作 问题是 Unicode 表中的全角字符在终端中占用了
  • 是否使用 C# 数据集? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我对 C 中的数据集概念有点困惑 编码 ASP NET 站点 但这并不重要 在我的阅读中 我了解到它们 本质上 用作我的应用程序和我的
  • 如何将AVFrame转换为glTexImage2D使用的纹理?

    如您所知 AVFrame 有 2 个属性 pFrame gt data pFrame gt linesize 当我从视频 sdcard test mp4 android平台 读取帧后 并将其转换为RGB AVFrame副 img conve
  • 在 .NET MAUI 中实现 TouchTracking

    我一直致力于将我们的应用程序从 Xamarin Forms 迁移到 NET MAUI 我们的应用程序几乎没有绘图功能 用户可以用手指进行绘图 我们用了TouchTrackingXamarin Forms 中的 nuget 包 但与 NET
  • 不可变类与结构

    以下是类与 C 中的结构的唯一区别 如果我错了 请纠正我 类变量是引用 而结构变量是值 因此在赋值和参数传递中复制结构的整个值 类变量是存储在堆栈上的指针 指向堆上的内存 而结构变量作为值存储在堆上 假设我有一个不可变的结构 该结构的字段一
  • 在 C 中使用枚举而不是 #defines 作为编译时常量是否合理?

    在 C 工作了一段时间后 我将回到 C 开发领域 我已经意识到 在不必要的时候应该避免使用宏 以便让编译器在编译时为您做更多的工作 因此 对于常量值 在 C 中我将使用静态 const 变量或 C 11 枚举类来实现良好的作用域 在 C 中
  • memcpy/memmove 到联合成员,这是否设置“活动”成员?

    重要说明 一些评论者似乎认为我是从工会抄袭的 仔细看memcpy 它从普通旧地址复制uint32 t 它不包含在联合中 另外 我正在复制 通过memcpy 到工会的特定成员 u a16 or u x in a union 不直接到整个联盟本
  • 将 Word 转换为 PDF - 禁用“保存”对话框

    我有一个用 C 编写的 Word 到 PDF 转换器 除了一件事之外 它工作得很好 有时 在某些 Word 文件上 后台会出现一条消息保存源文件中的更改 gt 是 否 取消 但我没有对源文件进行任何更改 我只想从 Word 文件创建 PDF
  • 模板类的模板构造函数的 C++ 显式模板特化

    我有一个像这样的课程 template
  • Visual Studio 2015:v120 与 v140?

    仅供参考 Win10 x64 我今天开始尝试 Visual Studio 2015 在弄清楚如何运行 C C 部分后 我尝试加载一个大型个人项目 该项目使用非官方的glsdk http glsdk sourceforge net docs
  • Visual Studio 2015 - Web 项目上缺少共享项目参考选项卡

    我从 MSDN 订阅升级到 Visual Studio 2015 因为我非常兴奋地阅读有关共享项目的信息 当我们想要做的只是重用代码时 不再需要在依赖项中管理 21382 个 nuget 包 所以我构建了一个测试共享项目 其中包含一些代码
  • 在 System.Type 上使用条件断点时出错

    这是函数 public void Init System Type Type this Type Type BuildFieldAttributes BuildDataColumns FieldAttributes 我在第一行设置了一个断点
  • 当用户更改 Windows 中的语言键盘布局时如何通知?

    I want to show a message to user when the user changes the language keyboard layout of Windows for example from EN to FR

随机推荐

  • 2018年泰迪杯心得总结--最全的数学建模、数据挖掘的比赛入门

    2018年泰迪杯总结 最全的数学建模 数据挖掘比赛入门 期待已久的泰迪杯数据挖掘比赛从3月1日开启到今天4月15日已经结束了 不同于美赛等数学建模比赛 它耗时更长 赛题难度更大 需要处理的数据更加庞大 奖金也超级丰厚hhh 笔者通过一个半月
  • SQL注入基础 sql注入详细解释 小白学习笔记

    sql注入作为安全攻防中最重要的一个部分 可以说是所有渗透测试注入中最为重要的一个注入 不管是预防还是测试 都需要扎实的基础才能明白sql注入 温馨提示 此文章仅限于学习记录与讨论 不得随意测试或者注入 互联网不是法外之地 任何除学习之外的
  • cdr怎么抠图轮廓线条_CDR怎么抠图?CorelDRAW快速抠图方法

    抠图这个词相信大家都有所耳闻 CDR中的抠图功能也比较实用 可以用于将图片的一部分单独取出来 或是用来给人物换背景 做照片的合成等 那么用CDR怎么抠图呢 CorelDRAW 2019 for Win中的抠图方法有很多 今天小编教大家两种
  • 深度学习之图像隐写去除(DDSP模型 Steganography Removal)

    文章目录 一 前言 二 论文内容 2 1 Abstract 2 2 Introduction 2 3 Background 2 3 1 Prior Work 2 3 2 Super Resolution GAN 超分辨率GAN 2 4 Da
  • python json5

    install pip install json5 test a json a b aa b1 b2 import json5a json5 load open a json r print a a b aa b1 b2 转载于 https
  • C语言小编程之九九乘法表

    在初学C语言中 我们会遇到很多九九乘法表的问题 在这我们进行一系列的分析 九九乘法表的格式是x x x的格式 接下来 我们要做的是利用循环结构 使得数量发生变化 在最后 要对乘法表的形状进行限定 首先我们先进行 对 两个乘数进行循环 然后求
  • mysql check执行流程,MySQL==> SQL执行流程剖析

    一 MySQL基本架构 从该图可以看出 MySQL 主要分为 Server 层和存储引擎层 Server 层中包罗毗邻器 查询缓存 剖析器 优化器 执行器 涵盖 MySQL 的大多数焦点服务功效 以及所有的内置函数 如日期 时间 数学和加密
  • 安装MMCV血泪史

    如果直接进行pip 是会出错的 需要先在服务器上或者Python控制台查找torch和cuda版本号 python c import torch print torch version 查找到版本号之后 在下面的链接查找对应版本的mmcv安
  • Unity3D Shader 新手教程(2/6) —— 积雪Shader

    如果你是一个shader编程的新手 并且你想学到下面这些酷炫的技术 我觉得你可以看看这篇教程 实现一个积雪效果的shader 创建一个具有凹凸纹理的shader 为每个像素修改其对应纹理值 在表面着色器中修改模型的顶点数据 引论 这是我们系
  • 方舟编译器分析十四——代码分析(十二)

    2021SC SDUSC ssa是MeFuncPhase类的phase之一 是除了ssaTab之外 和ssa相关的第二个phase 它在phases def中 排在ssaTab和aliasclass之后 前文已经分析过了ssaTab 本文将
  • Postgresql的并发(一)

    转载请注明URL http write blog csdn net postedit 50747829 翻译 卧龙居 pijing 13 1 简介 PostgreSQL提供了非常丰富的工具给开发者 以供开发者控制对于数据的并发访问 在内部
  • 深度学习笔记丨李沐深度学习课程kaggle竞赛——加利福尼亚房价预测(我的第一个深度学习项目)

    记录作为小白的第一个深度学习项目 1 kaggle竞赛题目 The task is to predict house sale prices based on the house information such as of bedroom
  • python3: xpath的使用

    转 本文转自 https blog csdn net qq 36148847 article details 79167267 python 具有一些比较流行的解析库 例如 lxml 使用的是 XPath 语法 是大众普遍认为的网页文本信息
  • Oracle 11gR2 RAC Listener - 多端口多监听

    Oracle单实例库 可以配置多个监听服务 同时监听同一个service 具体的步骤可以参考之前的文章 Oracle RAC想使用多端口 多监听服务 来同时监听同一个service 也可以 官方文档 http docs oracle com
  • 异常链的解释与使用

    目录 1 什么是异常链 2 异常链的使用场景 3 使用异常链的注意事项 1 什么是异常链 百度百科的解释 异常链是一种面向对象编程技术 指将捕获的异常包装进一个新的异常中并重新抛出的异常处理方式 深入理解Java核心技术 中的解释 异常链是
  • 使用Docker创建镜像的容器

    1 查看当前环境下的镜像 docker ps 2 创建docker镜像容器 例如 我要创建czy py3 6 pytorch1 0镜像对应的容器 raid raid home shanhui mrc是我本地文件的路径 workplace c
  • 机器学习笔记2:建立模型一般所需步骤

    目录 1 特征工程 2 抽样方式 2 1 随机抽样 2 2 分层抽样 3 交叉验证 4 微调模型 4 1 网格搜索 4 2 随机搜索 1 特征工程 特征工程是指对样本属性值的处理 对数值型属性值一般用标准化 以此来消除量纲的影响 对字符串或
  • 运算符“

    区别一 定义不同 和 都是表示 或 区别是 只要满足第一个条件 后面的条件就不再判断 而 要对所有的条件进行判断 区别二 与操作和或操作的区别 1 在Java程序中 使用与操作 要求所有表达式的判断结果都是TRUE 才为真 若有一个为FAL
  • 【华为OD机试真题2023B卷 JAVA&JS】猜密码

    华为OD2023 B卷 机试题库全覆盖 刷题指南点这里 猜密码 知识点DFS搜索数组 时间限制 1s 空间限制 32MB 限定语言 不限 题目描述 小杨申请了一个保密柜 但是他忘记了密码 只记得密码都是数字 而且所有数字都是不重复的 请你根
  • C++中auto的使用

    1 C 中auto的使用 1 1auto简介 auto是一个C C 语言存储类型 仅在语句块内部使用 初始化可为任何表达式 其特点是当执行流程进入该语句块的时候初始化可为任何表达式 C语言中提供了存储说明符auto register ext