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

C++笔记之遍历vector的所有方式

C++笔记之遍历vector的所有方式

—— 2023年4月15日 上海


code review

文章目录

  • C++笔记之遍历vector的所有方式
    • 1.普通for循环
    • 2.迭代器版
    • 3.const迭代器
    • 4.C++11引入的范围for循环
    • 5.使用auto关键字和迭代器
    • 6.使用std::for_each算法
    • 7.使用std::for_each和lambda表达式
    • 8.普通版+vector::at()版
    • 9.指针版
    • 10.使用while循环
      • 10.1.使用普通while循环和下标
      • 10.2.使用普通while循环和迭代器
    • 11.迭代器的声明通常使用auto it = v.begin();来替代std::vector<int>::iterator it = v.begin();

注意:不使用引用或指针来遍历的遍历方式都是只读操作,无法修改元素的值

1.普通for循环

在这里插入图片描述

2.迭代器版

在这里插入图片描述

3.const迭代器

在这里插入图片描述

4.C++11引入的范围for循环

在这里插入图片描述

在这里插入图片描述

5.使用auto关键字和迭代器

在这里插入图片描述

6.使用std::for_each算法

在这里插入图片描述

7.使用std::for_each和lambda表达式

在这里插入图片描述

8.普通版+vector::at()版

在这里插入图片描述

9.指针版

在这里插入图片描述

10.使用while循环

注意:使用while循环遍历时需要注意循环条件,遍历完成后一定要确保循环变量或迭代器指向std::vector的end()位置,否则可能会出现未定义的行为。

10.1.使用普通while循环和下标

在这里插入图片描述

10.2.使用普通while循环和迭代器

在这里插入图片描述

11.迭代器的声明通常使用auto it = v.begin();来替代std::vector::iterator it = v.begin();

在这里插入图片描述

代码

#include <iostream>
#include <vector>int main() {std::vector<int> v = {1, 2, 3, 4, 5};std::vector<int>::iterator it1 = v.begin();auto it2 = v.begin();std::cout << "*it1= " << *it1 << std::endl;std::cout << "*it2= " << *it2 << std::endl;return 0;
}

相关文章:

C++笔记之遍历vector的所有方式

C笔记之遍历vector的所有方式 —— 2023年4月15日 上海 code review 文章目录 C笔记之遍历vector的所有方式1.普通for循环2.迭代器版3.const迭代器4.C11引入的范围for循环5.使用auto关键字和迭代器6.使用std::for_each算法7.使用std::for_each和lambda表达式8.普通版vector::at…...

OpenCV 笔记(2):图像的属性以及像素相关的操作

Part11. 图像的属性 11.1 Mat 的主要属性 在前文中&#xff0c;我们大致了解了 Mat 的基本结构以及它的创建与赋值。接下来我们通过一个例子&#xff0c;来看看 Mat 所包含的常用属性。 先创建一个 3*4 的四通道的矩阵&#xff0c;并打印出其相关的属性&#xff0c;稍后会详细…...

基于指数分布优化的BP神经网络(分类应用) - 附代码

基于指数分布优化的BP神经网络&#xff08;分类应用&#xff09; - 附代码 文章目录 基于指数分布优化的BP神经网络&#xff08;分类应用&#xff09; - 附代码1.鸢尾花iris数据介绍2.数据集整理3.指数分布优化BP神经网络3.1 BP神经网络参数设置3.2 指数分布算法应用 4.测试结果…...

Python--练习:使用while循环求1~100之间,所有偶数的和(涉及if判断是不是偶数)

案例&#xff1a;求1~100之间&#xff0c;所有偶数的和 思考&#xff1a; 先套用原有基础模式&#xff0c;之后再思考其他的。 其实就是在之前文章 Python--练习&#xff1a;使用while循环求1..100的和-CSDN博客 的基础上&#xff0c;再判断如果获取到里面的全部偶数&#…...

带温度的softmax

用pytorch写一下使用带有温度的softmax的demo import torch import torch.nn.functional as F# 定义带有温度的softmax函数 def temperature_softmax(logits, temperature1.0):return F.softmax(logits / temperature, dim-1)# 输入logits logits torch.tensor([[1.0, 2.0, 3.…...

js函数调用的方式有几种

在 JavaScript 中&#xff0c;函数可以通过不同的方式进行调用。以下是常见的几种函数调用方式&#xff1a; 函数调用&#xff1a;使用函数名称后跟一对小括号来调用函数&#xff0c;这是最基本的调用方式。 functionName(); 方法调用&#xff1a;函数可以作为对象的方法进行调…...

聊聊设计模式--简单工厂模式

简单工厂模式 ​ 前面也学了很多各种微服务架构的组件&#xff0c;包括后续的服务部署、代码管理、Docker等技术&#xff0c;那么作为后端人员&#xff0c;最重要的任务还是代码编写能力&#xff0c;如何让你的代码写的漂亮、易扩展&#xff0c;让别人一看赏心悦目&#xff0c…...

Python基础教程:内置函数之字典函数的使用方法

嗨喽~大家好呀&#xff0c;这里是魔王呐 ❤ ~! python更多源码/资料/解答/教程等 点击此处跳转文末名片免费获取 len(字典名)&#xff1a; 返回键的个数&#xff0c;即字典的长度 # len(字典名)&#xff1a; # 返回键的个数&#xff0c;即字典的长度dic {a:123,b:456,c:789…...

Pytorch从零开始实战06

Pytorch从零开始实战——明星识别 本系列来源于365天深度学习训练营 原作者K同学 文章目录 Pytorch从零开始实战——明星识别环境准备数据集模型选择开始训练模型可视化模型预测总结 环境准备 本文基于Jupyter notebook&#xff0c;使用Python3.8&#xff0c;Pytorch2.0.1c…...

RT-Thread学习笔记(三):线程管理

线程管理 线程管理相关概念什么是时间片轮转调度器锁线程运行机制线程的五种状态 动态和静态创建线程区别动态和静态创建线程优缺点RT-Thread动态线程管理函数动态创建线程动态删除线程 RT-Thread静态线程管理函数静态创建线程 线程其他操作线程启动线程延时获得当前执行的线程…...

pymysql连接Mariadb/Mysql出现错误(配置正确情况下)解决办法

场景&#xff1a;在kali中使用python中pymysql对Mariadb进行连接&#xff0c;在整个过程中配置全部正确&#xff0c;但是就是无法进行连接&#xff0c;提示结果如下&#xff1a; Access denied for user rootlocalhost解决办法&#xff1a;进入数据库中&#xff0c;将默认密码…...

数据仓库扫盲系列(1):数据仓库诞生原因、基本特点、和数据库的区别

数据仓库的诞生原因 随着互联网的普及&#xff0c;信息技术已经深入到各行各业&#xff0c;并逐步融入到企业的日常运营中。然而&#xff0c;当前企业在信息化建设过程中遇到了一些困境与挑战。 1、历史数据积存。 过去企业的业务系统往往是在较长时间内建设的&#xff0c;很…...

DataX-web安装部署和使用

DataX-web的环境准备 MySQL (5.5) 必选&#xff0c;对应客户端可以选装, Linux服务上若安装mysql的客户端可以通过部署脚本快速初始化数据库 JDK (1.8.0_xxx) 必选 DataX 必选 Python (2.x) (支持Python3需要修改替换datax/bin下面的三个python文件&#xff0c;替换文件在do…...

sqlmap防御以及文件读写

一.防御 过滤 1.使用过滤函数 $email filter_var($_POST[email], FILTER_VALIDATE_EMAIL); if ($email) { // input is a valid email address } else { // input is not a valid email address 使用 filter_var() 函数和 FILTER_VALIDATE_EMAIL 过滤器来验证用户输…...

【源码】C/C++运动会计分系统 期末设计源码

文章目录 题目介绍功能源码效果展示带报告&#xff08;内容&#xff09; 题目介绍 使用语言&#xff1a; 两个版本都会发&#xff1a; 版本1&#xff1a;C语言 版本2&#xff1a; C 代码量&#xff1a; 500 题目介绍&#xff1a; 要求&#xff1a;初始化输入&#xff1a;N-参赛…...

Ubuntu安装Docker

卸载官方库中之前的旧版本 sudo apt-get remove docker docker-engine docker-ce docker.io更新安装包列表 sudo apt-get update安装以下包以使apt可以通过HTTPS使用存储库 sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common添…...

useReducer+createContext真的可以代替Redux吗?

概念 useReducer useReducer 是 React 提供的一个状态管理钩子&#xff0c;通常用于管理组件的复杂状态逻辑。它采用两个参数&#xff1a;reducer 函数和初始状态。Reducer 函数接受当前状态和一个操作&#xff08;action&#xff09;&#xff0c;并返回一个新的状态。这有点…...

Mysql忘记登入密码找回 方法(超详细)

如果你找不到 MySQL 的安装路径&#xff0c;可以尝试以下几种方法&#xff1a; 检查环境变量&#xff1a;打开命令提示符&#xff0c;并运行以下命令&#xff1a; echo %PATH% 这会显示系统的环境变量。查找其中是否包含 MySQL 相关的路径&#xff0c;例如 C:\Program Files…...

NodeMCU ESP8266 读取按键外部输入信号详解(图文并茂)

NodeMCU ESP8266 读取按键外部输入信号教程&#xff08;图文并茂&#xff09; 文章目录 NodeMCU ESP8266 读取按键外部输入信号教程&#xff08;图文并茂&#xff09;前言按键输入常用接口pinModedigitalRead 示例代码结论 前言 ESP8266如何检测外部信号的输入&#xff0c;通常…...

Oracle如何插入图片数据?

1、创建表&#xff0c;注意&#xff1a;插入图片的列要定义成BLOB类型 create table image_lob(t_id varchar2(5) not null,t_image blob not null);2、创建图片目录&#xff0c;images为目录名 create or replace directory "images" as f:\pic\;3、创建存储过程&am…...

从LED到激光器:一文搞懂半导体光电子器件的核心原理与设计差异

从LED到激光器&#xff1a;半导体光电子器件的核心原理与设计差异解析 当我们在夜晚点亮一盏LED台灯&#xff0c;或是使用光纤网络高速下载文件时&#xff0c;背后是两类截然不同却又紧密相关的半导体光电器件在发挥作用。LED&#xff08;发光二极管&#xff09;和半导体激光器…...

手把手教你用Multisim仿真两相步进电机驱动:从电路搭建、波形验证到电荷泵稳压实战

手把手教你用Multisim仿真两相步进电机驱动&#xff1a;从电路搭建到性能优化全流程 在工业自动化和小型机电设备中&#xff0c;两相步进电机因其精准的位置控制和简单的驱动结构而广受欢迎。但直接在实际硬件上测试驱动电路存在风险&#xff0c;可能导致元器件损坏。这正是电路…...

保姆级教程:在Ubuntu 20.04上从源码编译运行ORB_SLAM2(附TUM数据集测试)

从零构建ORB_SLAM2&#xff1a;Ubuntu 20.04实战指南与深度解析 在计算机视觉领域&#xff0c;同时定位与地图构建&#xff08;SLAM&#xff09;技术一直是研究热点。ORB_SLAM2作为特征点法的代表作&#xff0c;以其出色的实时性和精度成为众多开发者的首选。本文将带你从源码…...

4步搞定Windows 11优化:让你的电脑运行速度提升70%

4步搞定Windows 11优化&#xff1a;让你的电脑运行速度提升70% 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes to declutter and custo…...

让Ouster OS1-128雷达跑通LeGO-LOAM建图:关键参数修改与‘ring‘字段报错解决

Ouster OS1-128雷达与LeGO-LOAM深度适配实战指南 当128线激光雷达遇上轻量级SLAM算法&#xff0c;会碰撞出怎样的火花&#xff1f;作为自动驾驶和机器人领域的热门硬件&#xff0c;Ouster OS1-128凭借其紧凑体积和高分辨率点云&#xff0c;正在逐步替代传统Velodyne设备。但真正…...

【2026 Java架构师必修课】:Loom响应式转型的4类遗留系统改造清单(含Dubbo/MyBatis/Quartz兼容性补丁包)

第一章&#xff1a;Loom响应式编程转型的演进逻辑与2026技术坐标Project Loom 的成熟并非孤立事件&#xff0c;而是响应式编程范式在并发模型层面的一次结构性跃迁。传统响应式框架&#xff08;如 Reactor、RxJava&#xff09;依赖线程池与事件循环抽象用户态并发&#xff0c;而…...

ABC软件工具箱选购与使用全攻略:从入门到精通的最佳实践

对于初次接触ABC软件工具箱的用户来说&#xff0c;面对120项功能可能会感到有些不知所措。 本文将为您提供一份详细的使用指南&#xff0c;帮助您快速了解软件的核心功能&#xff0c;掌握基本操作技巧&#xff0c;并学会如何根据实际需求选择合适的功能组合。 初次使用ABC软件…...

终极GMod修复方案:3步解决游戏浏览器与启动问题

终极GMod修复方案&#xff1a;3步解决游戏浏览器与启动问题 【免费下载链接】GModPatchTool &#x1f1ec;&#x1fa79;&#x1f6e0; Patches for Garrys Mod. Updates/Improves CEF and Fixes common launch/performance issues (esp. on Linux/Proton/macOS). Formerly GMo…...

CANoe数据回放踩坑实录:从BLF文件清洗到节点过滤,我的避坑指南

CANoe数据回放实战&#xff1a;从BLF清洗到智能过滤的工程实践 当面对一份来自真实车辆测试的BLF日志文件时&#xff0c;数据回放往往变成一场与噪声数据的博弈。我曾接手过一个项目&#xff0c;原始日志包含12个ECU节点的通信数据&#xff0c;但实际测试只需要关注其中2个目标…...

QQ音乐加密文件终极解码指南:qmcdump完全使用教程

QQ音乐加密文件终极解码指南&#xff1a;qmcdump完全使用教程 【免费下载链接】qmcdump 一个简单的QQ音乐解码&#xff08;qmcflac/qmc0/qmc3 转 flac/mp3&#xff09;&#xff0c;仅为个人学习参考用。 项目地址: https://gitcode.com/gh_mirrors/qm/qmcdump 还在为QQ音…...