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

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://www.xdnf.cn/news/20109.html

相关文章:

  • 【Leetcode】高频SQL基础题--180.连续出现的数字
  • 计算机原理-计算机操作系统-硬盘缓存、断电丢数据篇
  • 力扣416:分割等和子集
  • 【无GGuF版本】如何在Colab下T4运行gpt-oss 20B
  • spring事物失效场景
  • MySQL主从同步--主从复制进阶
  • Java 提取 PDF 文件内容:告别手动复制粘贴,拥抱自动化解析!
  • 生成模型实战 | 深度分层变分自编码器(Nouveau VAE,NVAE)
  • 华为在国内搞的研发基地有多野?标杆游学带你解锁“研发界顶流”
  • leetcode算法刷题的第二十七天
  • 【开题答辩全过程】以 高校教室管理系统为例,包含答辩的问题和答案
  • 24V降12V,8A,电路设计,WD5030L
  • 2025年- H118-Lc86. 分隔链表(链表)--Java版
  • 工厂办公环境如何实现一台服务器多人共享办公
  • 【AI论文】Robix:一种面向机器人交互、推理与规划的统一模型
  • 【Java实战㉖】深入Java单元测试:JUnit 5实战指南
  • python代码Bug排查
  • 案例分享|企微智能会话风控系统:为尚丰盈铝业筑牢沟通安全防线
  • 【Vue3+TypeScript】H5项目实现企业微信OAuth2.0授权登录完整指南
  • 医疗问诊陪诊小程序:以人性化设计构建健康服务新生态
  • 微信小程序一个页面同时存在input和textarea,bindkeyboardheightchange相互影响
  • 基于STM32单片机的水位浑浊度检测设计
  • Vue CLI 环境变量和文件加载规则.env文件
  • 《Istio故障溯源:从流量劫持异常到服务网格的底层博弈》
  • AI智能优化SEO关键词策略实战
  • 反序列化的学习笔记
  • Docling将pdf转markdown以及与AI生态集成
  • 23种设计模式——原型模式 (Prototype Pattern)详解
  • Java第十四幕集合啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦
  • LabView学习