解决【C++】vector subscript out of range下标越界

2023-10-30

1.检查遍历语句是否正确:

vector <Girl> girls;
for (unsigned int g = 0; g < girls.size(); g++) {
	girls[g]...
	}
  • 下标使用g而非i: 针对girls
    1)增强可读性
    2)同时遍历其他vector时便于区分
	for (unsigned int b = 0; b < boys.size(); b++) {
		cout << boys[b] << " 的配对女士有:" << endl;
		for (unsigned int g = 0; g < girls.size(); g++) {
			if (boys[b].satisfied(girls[g]) == true && 
				girls[g].satisfied(boys[b]) == true) {//注意调用的是否是函数以及函数是否含参以及含参顺序
				//cout << boys[b].getName() << "<-->" << girls[g].getName() << endl;如果只打印姓名,可能有重名,无法确定实际是哪位
				//因为database与Boy和Girl类不存在继承关系,所以只能通过对象调用public方法
				cout << girls[g] ;
			}
		}
		cout << endl;//一位男士的所有配对结束后空一行
	}

2.发现下标不对应:

在这里插入图片描述

  • 错因:复制完全对等方法bestMatchBoy()后,漏改对等替换
  • 相似方法实现时,复制后替换步骤:
    1)归纳替换规则:boy<->girl,g<->b
    2)写于vs内置git存储信息栏
    在这里插入图片描述
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

解决【C++】vector subscript out of range下标越界 的相关文章

  • 直流电机PID调节——P

    其实要用PID调节的话 最好是使用带有编码器的比较高端一点的直流减速电机 但是因为它价格有点贵 所以我们一般做智能小车就会选用普通的直流电机 但是普通的直流电机也是可以使用PID调节的 虽然它的效果没有带编码器得到直流减速电机的好 但是我们
  • 单片机检测脉冲个数c语言程序,C51单片机脉冲累加器(C语言程序)

    void timer0 void interrupt 1 using 1 switch count case 1 TH0 2700 pwm value 256 TL0 2700 pwm value 256 while 1 if pwm va
  • 分享个最佳的代码片段在线测试网站

    Its our pleasure to share best resources tools for web developers and designer Today we are 1 非常好的在线编译调试网站 https www onl
  • 10.网络爬虫—MongoDB详讲与实战

    网络爬虫 MongoDB详讲与实战 MongoDB MongoDB安装 创建数据目录 1 数据库操作 2 集合操作 3 文档操作 4 索引操作 5 聚合操作 6 备份与恢复 MongoDB增删改查 mongodb集合的增删改查 数据插入到表
  • 知识点记录-abase是什么

    Abase Abase是一套支持redis协议的分布式KV存储系统 是字节跳动自研的一套数据库系统 对在线业务发挥着核心作用 支持redis协议 高可用 低延迟 高扩展的kv存储 常用于redis的大容量持久化场景 为什么采用Abase r
  • 在react项目中调用百度地图API的BMap后报错解决方案

    我这里是使用了react typescript技术栈 在 public index html文件中引入百度地图项目的文件 就相当于是全局导入了 但是并不能直接使用相关的API 需要在使用的文件中这样声明一下 然后就可以直接使用了 const
  • stm32专题二十九:Flash 读写保护

    设置Flash的读写保护 其实就是操作内部Flash的选项字节 选项字节在内部Flash的主存储页之后 由于是Flash 不能像内存RAM一样随意写入 由于Flash的写入特性 只能将 1 写成 0 而如果要确保写入数据的绝对正确 则需要先
  • pytorch:nn.ReLU(inplace=True) 中的参数 inplane 的作用

    pytorch 的激活函数nn Relu 有一个参数 inplace 其作用是 该nn Relu 函数计算得到的输出是否更新传入的输出 正常情况下 一个卷积操作 首先经过卷积层 接着是正则化 Normalize 最后经过激活函数 而输入激活
  • Excel多行转置为一列

    原始数据如下 想把上述数据变成下边这个样子 面板模型数据录入需要用到下边这个形式的数据 步骤 1 先把所有原始数据转置 2 再在153 19下的单元格输入 C2 输入完之后 16 85就会在153 19下的单元格处了 再先横向 后纵向下拉即
  • 解决IDEA安装Python插件,下载失败的方法

    一 问题 通过file gt settings gt Plugins 安装python时 会提示下载失败 可以采用以下方法解决 二 解决办法 1 在help about中查看IDEA版本 作者的是181 4445 2 在https plug
  • Java架构直通车——结合源码理解PageHelper

    PageHelper实现方式 PageHelper首先将前端传递的参数保存到page这个对象中 接着将page的副本存放入ThreadLoacl中 这样可以保证分页的时候 参数互不影响 接着利用了mybatis提供的拦截器 取得Thread
  • XXL-JOB任务分片

    文章目录 任务类型 任务配置 路由策略 阻塞处理策略 单个任务和集群任务 单机多任务分片 集群分片 任务类型 单个任务 一个任务实例便可完成 单机单任务 单机模式下任何路由模式都只有一个实例执行 集群单任务 由路由策略 广播模式除外 选择其
  • 内网穿透-外远程连接中的RabbitMQ服务

    文章目录 前言 1 安装erlang 语言 2 安装rabbitMQ 3 内网穿透 3 1 安装cpolar内网穿透 支持一键自动安装脚本 3 2 创建HTTP隧道 4 公网远程连接 5 固定公网TCP地址 5 1 保留一个固定的公网TCP
  • GIS项目研发总结

    海珠区慢性防治系统 项目研发阶段性总结 作者 华境聪 本次任务完成时间 2018年12月22日 2019年1月16日 完成模块功能 前台 图层管理 医院 社康 药店 后台 修改资料 密码 数据管理 一 功能实现 图层管理主要包括医院 社康
  • Strtus2漏洞复现

    文章目录 安装docker 第一步 安装docker 第二步 检查docker安装是否成功 第三步 安装docker compose 第四步 下载漏洞库 第五步 启动 关闭漏洞 漏洞列表 S2 048远程执行代码漏洞 漏洞简介 漏洞原理 影
  • MyBatis整体架构分析:mysql跳过错误执行日志

    缓存维护方案一 如果是一读 线程B 一写 线程A 操作 先操作缓存 再操作数据库 流程图如下所示 1 线程A发起一个写操作 第一步del cache 2 线程A第二步写入新数据到DB 3 线程B发起一个读操作 cache miss缓存失效了
  • python retrying retry

    在写业务时 有个业务需要在return某种情况下 进行重试 代码类似于下面 from retrying import retry def verify self try return self verify 1 except RetryEr
  • Java学习笔记(十三)

    面向对象和面向过程的区别 面向过程 优点 性能比面向对象高 因为类调用时需要实例化 开销比较大 比较消耗 资源 比如单片机 嵌入式开发 Linux Unix 等一般采用面向过程开发 性能是最重要的因素 缺点 没有面向对象易维护 易复用 易扩
  • [网络安全]upload-labs Pass-02 解题详析

    读者可参考 订阅专栏 Upload Labs靶场攻防实战 Antsword蚁剑 该题涉及蚁剑工具的利用 操作可参考 网络安全 AntSword 蚁剑 实战解题详析 入门 网络安全 DVWA之File Upload AntSword 蚁剑 攻
  • echarts柱状图个数多,横坐标名称过长显示不全解决方法

    当echarts柱状图个数多 横坐标名称过长时横坐标名称显示不全 网上并没有搜到太好的方法 于是自己加工了下 将横坐标名称显示前六位 当鼠标放到上面的时候显示全名 下面是示例代码 可以直接拷贝测试 代码解读 HTML div class m

随机推荐

  • 新的换脸模型FaceShifter论文解读

    论文地址 https arxiv org pdf 1912 13457 pdf 前言 本文介绍了一种pipline模型 用以抽取多维度的图片特征信息 并自适应的完成FaceSwap任务 整体模型分类两个部分 第一部分基于AAD Adapti
  • 网络复习——路由器&交换机工作原理

    1 路由器的工作原理 路由器的工作原理 3层设备 当数据包进入路由器时 路由器先查看数据包中的2层报头目标MAC地址 广播 解封装到3层 当路由器收到数据包时 如果目标MAC为全F 那么路由器无法判断广播与自己有无关系 需要借助3层 组播
  • Java之线程详解(三)——多线程常用API、七种状态、优先级、Lock锁

    一 多线程常用API join 方法 多线程环境下 如果需要确保某一线程执行完毕后才可继续执行后续的代码 就可以通过使用 join 方法完成这一需求设计 eg public class Thread01 public static void
  • Pinia: vue的最新状态管理库

    Pinia vue的最新状态管理库 vuex状态管理工具的替代品 pinia官方文档 注意defineStore 的返回值还是一个方法 所以useCounterStore是一个方法 执行该方法得到一个对象 getters 异步action
  • 深入学习jquery源码之jQuery的选择器引擎Sizzle(一)

    深入学习jquery源码之jQuery的选择器引擎Sizzle Sizzle是一个纯javascript CSS选择器引擎 jquery1 3开始使用sizzle Sizzle一反传统采取了相反的Right To Left的查询匹配方式 效
  • 【安卓学习之常见问题】android路径及文件问题

    安卓学习之常见问题 android路径及文件问题 系列文章目录 提示 这里是收集了安卓学习之常见问题的相关文章 安卓学习之常见问题 界面 Activity Fragment 之间的数据传递 Intent Bundle 任我飞的博客 CSDN
  • Docker进阶学习:Compose安装

    这个compose是要单独安装的 不是你只安装一个docker服务 1 安装 官网提供 没有下载成功 curl L https github com docker compose releases download 1 26 2 docke
  • 华为生态链的全方位解读

    来源 本翼资本CapitalWings 概要 华为作为目前国内ICT行业的融合性创新龙头企业 其多年经营探索的经营模式和宝贵经验使得其成为传统制造业转型的标杆 而对于新兴企业 能够越过坎坷的探索之路 直接嫁接华为的 云管端一体化 经营模式
  • Web框架安全

    模板引擎与XSS防御 XSS攻击是在用户的浏览器上执行的 其形成过程则是在服务器端页面渲染时 注入了恶意的HTML代码导致的 从MVC架构来说 是发生在View层 因此使用 输出编码 的防御方法更加合理 这意味着需要针对不同上下文的XSS攻
  • RNAfold的使用方法

    RNAfold是预测序列二级结构的软件 本地版下载地址 http www tbi univie ac at ivo RNA windoze 在上面网址中还有其他预测结构的软件可供下载 现在主要介绍一下本地下载版的使用方法 1 不能够双击应用
  • [4G/5G/6G专题基础-155]: 5G 3GPP高精确室内定位原理、AI方案概述

    目录 前言 第1章 5G高精确定位概述 1 1 概述 1 2 3GPP对定位的指标需求 第2章 5G系统能够实现高精度定位的技术基础 2 1 基本思想 2 2 技术基础 1 高载波频率 空间 高频波直径路线特性 2 短符号周期 高带宽 时间
  • 服务器系统2019装vm,在Linux中使用虚拟机安装Windows Server 2019的方法

    你可以在Linux系统中使用VMware Workstation或Virtualbox虚拟机来安装Windows Server 2019 经过安装实测能正常运行Windows Server 2019操作系统 一 安装及配置虚拟机参考文章 请
  • @SuppressLint("NewApi")、TargetApi()、RequiresApi()

    android下的SuppressLint与TargetApi Android应用在不同版本间兼容性处理
  • C++设计模式

    这里摘录的不是很全 主要记录了个人认为需要记录的模式 文章目录 创建型模式 建造者模式 结构型模式 Adapter模式 装饰者 decorator 模式 组合实体 Composite 模式 享元 Flyweight 模式 代理 Proxy
  • sql:无法解决 equal to 操作中 "Chinese_PRC_CI_AS" 和 "Chinese_Taiwan_Stroke_CI_AS" 之间的排序规则冲突。

    无法解决 equal to 操作中 Chinese PRC CI AS 和 Chinese Taiwan Stroke CI AS 之间的排序规则冲突 CREATE VIEW View VipBranchStaffBranchList AS
  • VMware虚拟机安装Windows 7

    昨天我总结了win10和win11的教程 今天也把win7总结下 一来方便各位探索Windows7 二来也可以给自己备份 1 准备工作 首先我们在VMware里面安装Windows7需要做的准备工作 VMware Workstation软件
  • 国际版阿里云/腾讯云:阿里弹性云手机正式公测

    阿里弹性云手机正式公测 什么是 云手机 与我们传统的手机有何区别 它又有什么用处呢 当你接触到云手机概念的时候 是不是也会有这一连串的疑问 本文将为你揭开云手机的奥秘面纱 2021年12月1日 阿里弹性云手机正式公测 移动运用新载体 赋予手
  • Linux系统跳过密码登录

    一 引导系统 RHEL7的标准引导系统是GRUB2 RHEL6默认使用GRUB1 这里主要讲GRUB2 在Linux系统开机选择内核时 按下e进入内核引导参数的编辑菜单 找到以linux16开头的一行 在行末添加更多的命令 例如 在行末尾添
  • 下载文件的响应头设置

    headers add Content Disposition attachment filename 1 jpg
  • 解决【C++】vector subscript out of range下标越界

    1 检查遍历语句是否正确 vector