C++ vector find()使用? ( if!=vec.end())

2023-11-15

std::vector::find是C++ STL中的一个函数,它可以用来在std::vector中查找给定的元素。如果找到了这个元素,它将返回一个迭代器指向该元素,否则将返回一个名为end()的迭代器。

下面是一个使用find的示例代码:

#include <iostream>
#include <algorithm>
#include <vector>

int main()
{
  std::vector<int> v = {1, 2, 3, 4, 5};

  // 查找数字 3
  auto it = std::find(v.begin(), v.end(), 3);
  if (it != v.end())
  {
    std::cout << "Found 3 at position " << it - v.begin() << std::endl;
  }
  else
  {
    std::cout << "Did not find 3" << std::endl;
  }

  return 0;
}

输出:

Found 3 at position 2

find函数有两个参数:

begin:一个迭代器,指向查找范围的开始。
end:   一个迭代器,指向查找范围的结束,也就是最后一个元素的下一个位置。
第三个参数是要查找的元素。

注意,

如果你要在std::vector中查找一个元素,

你也可以使用std::vector::operator[]或者std::vector::at函数。

但是这两个函数都没有find函数那么高效,因为它们都需要遍历整个向量来查找元素。


補充說明: 

if( it  == vec.end() )  ? 

而 if (if!=vec.end()) ,就是找到了 , 因為 end()并不是最后一个元素,最后一个元素在end()-1里。
    !=vec.end(),说明還沒找到end()就找到这个元素

如果=vec.end(),则说明找到了end()末尾还没有找到

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

C++ vector find()使用? ( if!=vec.end()) 的相关文章

  • 静态只读字符串数组

    我在我的 Web 应用程序中使用静态只读字符串数组 基本上数组有错误代码 我将所有类似的错误代码保存在一个数组中并检查该数组 而不是检查不同常量字符串中的每个错误代码 like public static readonly string m
  • 为什么在连接两个字符串时 Python 比 C 更快?

    目前我想比较 Python 和 C 用来处理字符串的速度 我认为 C 应该比 Python 提供更好的性能 然而 我得到了完全相反的结果 这是 C 程序 include
  • 如何从 C# 中的 dataTable.Select( ) 查询中删除单引号?

    所以我有一个经销商名称列表 我正在我的数据表中搜索它们 问题是 一些傻瓜必须被命名为 Young s 这会导致错误 drs dtDealers Select DealerName dealerName 所以我尝试替换字符串 尽管它对我不起作
  • GetType() 在 Type 实例上返回什么?

    我在一些调试过程中遇到了这段代码 private bool HasBaseType Type type out Type baseType Type originalType type GetType baseType GetBaseTyp
  • ComboBox DataBinding 导致 ArgumentException

    我的几个类对象 class Person public string Name get set public string Sex get set public int Age get set public override string
  • IdentityServer 4 对它的工作原理感到困惑

    我阅读和观看了很多有关 Identity Server 4 的内容 但我仍然对它有点困惑 因为似乎有很多移动部件 我现在明白这是一个单独的项目 它处理用户身份验证 我仍然不明白的是用户如何注册它 谁存储用户名 密码 我打算进行此设置 Rea
  • 如何判断计算机是否已重新启动?

    我曾经使用过一个命令行 SMTP 邮件程序 作为试用版的限制 它允许您在每个 Windows 会话中最多接收 10 封电子邮件 如果您重新启动计算机 您可能还会收到 10 个以上 我认为这种共享软件破坏非常巧妙 我想在我的应用程序中复制它
  • 对 std::vector 进行排序但忽略某个数字

    我有一个std vector
  • File.AppendText 尝试写入错误的位置

    我有一个 C 控制台应用程序 它作为 Windows 任务计划程序中的计划任务运行 此控制台应用程序写入日志文件 该日志文件在调试模式下运行时会创建并写入应用程序文件夹本身内的文件 但是 当它在任务计划程序中运行时 它会抛出一个错误 指出访
  • 如何在 Qt 应用程序中通过终端命令运行分离的应用程序?

    我想使用命令 cd opencv opencv 3 0 0 alpha samples cpp cpp example facedetect lena jpg 在 Qt 应用程序中按钮的 clicked 方法上运行 OpenCV 示例代码
  • 如何在 C 中安全地声明 16 位字符串文字?

    我知道已经有一个标准方法 前缀为L wchar t test literal L Test 问题是wchar t不保证是16位 但是对于我的项目 我需要16位wchar t 我还想避免通过的要求 fshort wchar 那么 C 不是 C
  • 在mysql连接字符串中添加应用程序名称/程序名称[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我正在寻找一种解决方案 在连接字符串中添加应用程序名称或程序名称 以便它在 MySQL Workbench 中的 客户端连接 下可见 SQL
  • C++ 中的双精度型数字

    尽管内部表示有 17 位 但 IEE754 64 位 浮点应该正确表示 15 位有效数字 有没有办法强制第 16 位和第 17 位为零 Ref http msdn microsoft com en us library system dou
  • 高效列出目录中的所有子目录

    请参阅迄今为止所采取的建议的编辑 我正在尝试使用 WinAPI 和 C 列出给定目录中的所有目录 文件夹 现在我的算法又慢又低效 使用 FindFirstFileEx 打开我正在搜索的文件夹 然后我查看目录中的每个文件 使用 FindNex
  • WebBrowser.Print() 等待完成。 。网

    我在 VB NET 中使用 WebBrowser 控件并调用 Print 方法 我正在使用 PDF 打印机进行打印 当调用 Print 时 它不会立即启动 它会等到完成整个子或块的运行代码 我需要确保我正在打印的文件也完整并继续处理该文件
  • 可访问性不一致:参数类型的可访问性低于方法

    我试图在两个表单之间传递一个对象 基本上是对当前登录用户的引用 目前 我在登录表单中有一些类似的内容 private ACTInterface oActInterface public void button1 Click object s
  • 如何在richtextbox中使用多颜色[重复]

    这个问题在这里已经有答案了 我使用 C windows 窗体 并且有 richtextbox 我想将一些文本设置为红色 一些设置为绿色 一些设置为黑色 怎么办呢 附图片 System Windows Forms RichTextBox有一个
  • 我可以在“字节数”设置为零的情况下调用 memcpy() 和 memmove() 吗?

    当我实际上没有什么可以移动 复制的时候 我是否需要处理这些情况memmove memcpy 作为边缘情况 int numberOfBytes if numberOfBytes 0 memmove dest source numberOfBy
  • 如何减少具有多个单元的 PdfPTable 的内存消耗

    我正在使用 ITextSharp 创建一个 PDF 它由单个 PdfTable 组成 不幸的是 对于特定的数据集 由于创建了大量 PdfPCell 我遇到了内存不足异常 我已经分析了内存使用情况 我有近百万个单元格的 1 2 在这种情况下有
  • 是否可以在不连接数据库的情况下检索 MetadataWorkspace?

    我正在编写一个需要遍历实体框架的测试库MetadataWorkspace对于给定的DbContext类型 但是 由于这是一个测试库 我宁愿不连接到数据库 它引入了测试环境中可能无法使用的依赖项 当我尝试获取参考时MetadataWorksp

随机推荐

  • gitee删除上传到的远程分支的提交记录

    在实际开发中可能也经常会遇到写完代码后提交到远程分支但发现写的提交信息有误 不符合规范 由于自己的gitee账号可能没有修改提交记录的权限 因此最佳的解决方法是 撤销本地分支当前的提交记录 将代码回滚到上一个版本 提交前 重新强制再提交一版
  • 大数据挖掘、分析与应用

    第一讲 基础知识 大数据指无法在可承受的时间范围内用常规软件工具进行捕捉 管理和处理的数据集合 是需要新处理模式才能具有更强的决策力 洞察力和流程优化能力的海量高增长率和多样化的信息资产 数据挖掘 DataMining 是有组织有目的地收集
  • 安装SQLServer2008出现[HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD)设置为 1

    问题 当我们卸载SQLServer2008后再重新安装后会出现以下问题 原因是卸载有时不能完全清理文件 解决方法 找到文件C Users user name AppData Local Microsoft Corporation删除Land
  • 深度学习Pytorch(十)——基于torchvision的目标检测模型

    深度学习Pytorch 十 基于torchvision的目标检测模型 文章目录 深度学习Pytorch 十 基于torchvision的目标检测模型 一 定义数据集 二 为PennFudan编写自定义数据集 1 下载数据集 2 为数据集编写
  • C++ 中基础的几种变量作用域,类作用域(C++复习向p5)

    文章目录 三种变量 变量作用域 初始化变量 类作用域 三种变量 局部变量 函数 代码块中的变量 形式参数 函数参数中定义的变量 在函数体中有效 全局变量 所有函数外部声明的变量 变量作用域 局部作用域 局部变量在函数执行完后销毁 全局作用域
  • 最全面的Socket使用解析

    前言 Socket的使用在Android的网络编程中非常重要 今天我将带大家全面了解Socket及其使用方法 目录 1 网络基础 1 1 计算机网络分层 计算机网络分为五层 物理层 数据链路层 网络层 运输层 应用层 其中 网络层 负责根据
  • 一次内网 Harbor 镜像仓库导出迁移过程记录

    1 整体思路 Harbor 提供有丰富的 API 接口 可以获取所有项目信息 镜像和标签等信息 通过编写 shell 脚本循环处理即可实现批量导出镜像包的需求 登陆 Harbor 后 左下角有 API 控制中心按钮 进入可以查看和调试 2
  • centos 安装配置l2tp实现***

    centos 安装配置l2tp实现 1 前言 L2TP是一种工业标准的Internet隧道协议 功能大致和PPTP协议类似 比如同样可以对网络数据流进行加密 不过也有不同之处 比如PPTP要求网络为IP网络 L2TP要求面向数据包的点对点连
  • OSI七层模型---数据链路层(以太网帧、MAC地址、MTU、MSS、ARP协议)

    我们首先来了解一下物理层的作用 物理层的主要目的是实现比特流的透明传输 为数据链路层提供服务 物理层接口解决了用几根线 多大电压 每根线什么功能 以及几根线之间是怎么协调的问题 物理层介质解决了数据载体材质以及价格优缺点的问题 通信技术解决
  • 01_I.MX6U芯片简介

    目录 I MX6芯片简介 Corterx A7架构简介 Cortex A处理器运行模型 Cortex A 寄存器组 IMX6U IO表示形式 I MX6芯片简介 ARM Cortex A7内核可达900 MHz 128 KB L2缓存 并行
  • 李宏毅 机器学习 2016 秋:6、Classification: Logistic Regression

    文章目录 六 Classification Logistic Regression 六 Classification Logistic Regression 我们来讲 Logistic Regression 我们在上一份投影片里面 我们都已
  • 点云Las格式分析及python实现

    目录 一 Las格式分析 1 公共头 2 变长记录 3 参考文献 二 安装laspy 2 0 2 三 代码实现 一 Las格式分析 1 公共头 公共头用来记录数据集的基本信息 如Li DAR点总数 数据范围 Li DAR点格式 变长记录总数
  • 在switch语句中使用字符串以及实现原理

    对于Java语言来说 在Java 7之前 switch语句中的条件表达式的类型只能是与整数类型兼容的类型 包括基本类型char byte short和int 与这些基本类型对应的封装类Character Byte Short和Integer
  • Go单体服务开发最佳实践

    单体最佳实践的由来 对于很多初创公司来说 业务的早期我们更应该关注于业务价值的交付 并且此时用户体量也很小 QPS 也非常低 我们应该使用更简单的技术架构来加速业务价值的交付 此时单体的优势就体现出来了 正如我直播分享时经常提到 我们在使用
  • 什么是等保合规

    近年来 随着国家对网络安全的重视 我国对网络安全的监管要求也越来越高 各互联网企业都在积极落实网络安全等级保护 关键信息基础设施安全保护制度 为了保护网络安全 企业也在按照 网络安全法 及 等保2 0 系列标准要求 积极寻求等级保护测评 整
  • C语言进阶:C陷阱与缺陷(读书笔记总)

    大家不要只收藏不关注呀 哪怕只是点个赞也可以呀 粉丝私信发邮箱 免费发你PDF 最近读了一本C语言书 C陷阱与缺陷 还不错 挺适合刚刚工作后的人 特此分享读书笔记 写代码时应注意这些问题 笔记已做精简 读完大概需要30min 如果读起来感觉
  • 广义线性模型(GLM)

    在线性回归中 y丨x N 2 在逻辑回归中 y丨x Bernoulli 这两个都是GLM中的特殊的cases 我们首先引入一个指数族 the exponential family 的概念 如果一个分布能写成下列形式 那么我们说这个分布属于指
  • Bert机器问答模型QA(阅读理解)

    Github参考代码 https github com edmondchensj ChineseQA with BERT https zhuanlan zhihu com p 333682032 数据集来源于DuReader Dataset
  • Unity基础3——Resources资源动态加载

    一 特殊文件夹 一 工程路径获取 注意 该方式 获取到的路径 一般情况下 只在 编辑模式下使用 我们不会在实际发布游戏后 还使用该路径 游戏发布过后 该路径就不存在了 print Application dataPath 二 Resourc
  • C++ vector find()使用? ( if!=vec.end())

    std vector find是C STL中的一个函数 它可以用来在std vector中查找给定的元素 如果找到了这个元素 它将返回一个迭代器指向该元素 否则将返回一个名为end 的迭代器 下面是一个使用find的示例代码 include