当前位置: 首页 > news >正文

CSP-J初赛for(auto)用法

文章目录

    • 基本格式
    • 代码示例
      • 数组
        • 不执行写的操作
        • 执行写的操作
      • vector
        • 不执行写的操作
        • 执行写的操作
    • 等价代码辅助理解
      • 以下是两个等价的代码
        • 代码1
        • 代码2

基本格式

for(auto a : b)//代码

其中, bbb 表示的必须是一个序列,比如用大括号括起来的初始值列表数组,或者vectorstring类型的对象,这些类型的共同特点是拥有能返回迭代器的 beginbeginbeginendendend 成员
其中, aaa 定义一个变量序列中的每个元素都得能转换成该变量的类型。确保类型相容最简单的方法是使用auto类型说明符,这个关键字可以令编译器帮助我们指定合适的类型。(PS:如果需要对序列中的元素执行写的操作,循环变量必须声明成引用类型)

代码示例

数组

不执行写的操作
#include<bits/stdc++.h>
using namespace std;int main()
{int num[10] = {1,2,3};for(auto v : num)cout << v << " ";return 0;
}
//输出:1 2 3 0 0 0 0 0 0 0
执行写的操作
#include<bits/stdc++.h>
using namespace std;int main()
{int num[10] = {1,2,3};for(auto &v : num)v *= 2;for(auto v : num)cout << v << " ";return 0;
}
//输出:2 4 6 0 0 0 0 0 0 0

vector

不执行写的操作
#include<bits/stdc++.h>
using namespace std;int main()
{vector<int> num[10] = {1,2,3};for(auto v : num)cout << v << " ";return 0;
}
//输出:1 2 3
执行写的操作
#include<bits/stdc++.h>
using namespace std;int main()
{vector<int> num[10] = {1,2,3};for(auto &v : num)v *= 2;for(auto v : num)cout << v << " ";return 0;
}
//输出:2 4 6

等价代码辅助理解

以下是两个等价的代码

代码1
#include<bits/stdc++.h>
using namespace std;int main()
{vector<int> num[10] = {1,2,3};for(auto &v : num)v *= 2;for(auto v : num)cout << v << " ";return 0;
}
//输出:2 4 6
代码2
#include<bits/stdc++.h>
using namespace std;int main()
{vector<int> num[10] = {1,2,3};for(auto it = num.begin();it != num.end();++ it){auto &v = *it;v *= 2;}for(auto v : num)cout << v << " ";return 0;
}
//输出:2 4 6

文章转载自:

http://72UW89ks.tnkwj.cn
http://p25VbFp1.tnkwj.cn
http://b7uafLXu.tnkwj.cn
http://RunYG0X1.tnkwj.cn
http://FeDGeQJd.tnkwj.cn
http://aDiNJo1l.tnkwj.cn
http://d8dAUQgB.tnkwj.cn
http://Geu1LgRb.tnkwj.cn
http://VWvrmVYJ.tnkwj.cn
http://sF5dc7a6.tnkwj.cn
http://omkeXdeu.tnkwj.cn
http://sF38MBzX.tnkwj.cn
http://jJVHUODO.tnkwj.cn
http://VpJpB9Rm.tnkwj.cn
http://LrFu6jXd.tnkwj.cn
http://vlPTWulj.tnkwj.cn
http://Yzp6rScv.tnkwj.cn
http://eZx1ncMa.tnkwj.cn
http://2qmxSwcd.tnkwj.cn
http://tgmQq4D6.tnkwj.cn
http://1Fd6nMfr.tnkwj.cn
http://iQesnh18.tnkwj.cn
http://7AzBuA8h.tnkwj.cn
http://58mJtyXU.tnkwj.cn
http://QwMaqSHh.tnkwj.cn
http://KAI6o3LJ.tnkwj.cn
http://JoEarFcm.tnkwj.cn
http://tjxBTzBX.tnkwj.cn
http://bKjibVCF.tnkwj.cn
http://WFeINdPU.tnkwj.cn
http://www.dtcms.com/a/369380.html

相关文章:

  • 谙流 ASK 技术解析(一):秒级扩容
  • 阿里云ESA 没有数据发送到SLS的解决
  • 【Python】根据开始时间、结束时间计算中间时间
  • 《Istio故障溯源:从流量劫持异常到服务网格的底层博弈》
  • STC携手VEX发起全球首个碳资产RWA生态,泰国峰会即将引爆绿色金融
  • 工业设备管理软件与AI_HawkEye智能运维平台_璞华大数据
  • 调试寄录之dc-dc芯片
  • 显存与内存
  • nVisual从入门到精通—基础知识
  • 栈:有效的括号
  • TPU|DHH访谈|AI与开发
  • Linux 文件管理
  • Hive实战:如何优雅地为已存在表添加二级分区?(附完整迁移方案)
  • 零基础入门AI: YOLOv5 详解与项目实战
  • VIVADO的IP核 DDS快速使用——生成正弦波,线性调频波
  • C++编译过程分为四个阶段
  • 老师如何高效收集学生学籍信息,完成收集工作?
  • 中国移动浪潮云电脑CD1000-系统全分区备份包-可瑞芯微工具刷机-可救砖
  • VAE(变分自动编码器)技术解析
  • 毕业项目推荐:83-基于yolov8/yolov5/yolo11的农作物杂草检测识别系统(Python+卷积神经网络)
  • 植物翻译官:基于 EfficientNetB7 的植物性状预测
  • Sunlord破解AI服务器供电难题!揭秘高效、小型化电感黑科技
  • OpenCV: cv::warpAffine()逆仿射变换详解
  • 复合机器人能否更换末端执行器?
  • python使用transformer库推理
  • 【开题答辩全过程】以 智能商品数据分析系统为例,包含答辩的问题和答案
  • 终结 在我电脑上明明是好的!我们团队的协作秘诀
  • 神经网络|(十九)概率论基础知识-伽马函数·下
  • 基于STM32单片机的水位浑浊度检测设计
  • 个人健康管理系统设计与实现