主要功能是把某学号的学生删除后自动归还他所借的图书并且从登录白名单中删除
关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率

已结题
c++容器调用erase函数报错
主要功能是把某学号的学生删除后自动归还他所借的图书并且从登录白名单中删除
收起
- 写回答
- 好问题 0 提建议
- 关注问题
微信扫一扫
点击复制链接分享
- 邀请回答
- 编辑 收藏 删除
- 收藏 举报
1条回答 默认 最新
- 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
_GX_ 2021-12-30 01:01关注你不能在迭代器循环内调用
vector::erase()
函数,因为vector::erase()
会使得被删除元素以及其后的所有元素的迭代器失效包括end()
正确做法是:你先用查找算法(比如std::find()
或你自己写循环查找)找到要指向删除元素的迭代器,在循环体外删除该元素。之后其他操作在另一个迭代器循环内对删除之后的容器进行操作详情参考
https://en.cppreference.com/w/cpp/container/vector/erase本回答被题主选为最佳回答 , 对您是否有帮助呢? 本回答被专家选为最佳回答 , 对您是否有帮助呢? 本回答被题主和专家选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏举报 编辑记录微信扫一扫
点击复制链接分享
编辑预览轻敲空格完成输入- 显示为
- 卡片
- 标题
- 链接
评论按下Enter换行,Ctrl+Enter发表内容
编辑
预览

轻敲空格完成输入
- 显示为
- 卡片
- 标题
- 链接
报告相同问题?
提交
- 2022-05-24 03:27回答 2 已采纳 #include<iostream> #include <cstring> #include <stdio.h> #include<ctype.h> #
- 2017-06-08 02:45回答 3 已采纳 CThreadPool::CreatePool()中: this->pthread_id = new pthread_t(m_iThreadNum); 修改为: this->pthr
- 2019-10-11 06:17回答 1 已采纳 这是变量作用域的问题,不同的脚本不在一个作用域里
- 2024-02-23 03:06Gcanfly的博客 c.erase( p)------------------------------从c中删除迭代器p指定的元素,p必须指向c中的一个真实元素,不能等于c.end()c.erase(b,e)----------------------------从c中删除迭代器对b和e所表示的范围中的元素,返回e...
- 2016-09-18 19:46回答 4 已采纳 改成这样试试 ``` void moveZeroes(vector& nums) { vector::iterator n; int nCount = 0; for
- 2021-09-08 08:23回答 3 已采纳 它不是说异常没接收吗?
- 2021-06-10 13:35回答 1 已采纳 while(myfile>>p.Id>>p.Name>>p.Writer>>p.Type>>p.Publisher>>p.Pub
- 2020-05-06 08:43Ember_Sky的博客 C++ 常用容器成员函数用法总结简介迭代器简介array: 静态数组简介构造函数访问 / 赋值迭代器下标 / at批量赋值swap (交换函数)常用函数长度/空间/容量相关函数string:字符串简介构造函数访问 / 赋值迭代器下标 / ...
- 2017-07-29 18:13回答 4 已采纳 迭代器删除要注意处理 ``` iter = abooklist.erase(iter); ``` ``` ```
- 2021-07-28 04:48回答 1 已采纳 改了下读取逻辑供参考 while ((readSingleChar = _getch()) != 13) { if (readSingleChar < 0) {
- 2021-07-27 13:50回答 2 已采纳 “删除密码中的最后一个字符”时,应该pop_back两次,第一次去除\b,然后再去除要删除的字符;这样也不需要RemoveEscapeChar了。 #include <cstdio> #i
- 2018-02-09 02:19在C++编程中,`std::vector`是一个非常重要的容器,它提供了动态数组的功能,允许我们在运行时调整大小。`vector`容器中的元素是连续存储的,因此它的随机访问性能非常优秀。今天我们将深入探讨`vector`的一个关键...
- 2021-10-28 23:14&不逝的博客 C++ vector容器详解目录vector容器的基本概念1.vector的构造函数2.vector的赋值操作3.vector的容量与大小4.vector的插入和删除5.vector数据存取6.vector互换容器7.vector预留空间写在最后 目录 vector容器的基本概念...
- 2022-01-16 09:27qq_55196230的博客 it++) 22、erase函数 有三种用法: (1)erase( pos, n); 删除从pos开始的n个字符,例如erase( 0, 1),删除0位置的一个字符,即删除第一个字符 (2)erase( position); 删除position处的一个字符(position是个...
- 2019-02-25 03:10棉猴的博客 可以通过string类的erase()函数来对该字符序列进行删除操作。erase()函数共有3种格式,分别用来删除指定位置的字符、删除指定长度的字符串和删除指定范围的字符串。 1 删除指定位置的字符 erase()函数用于删除指定...
- 2019-11-06 07:20总之,C++函数STL速查手册是一个非常有价值的工具,无论是初学者还是经验丰富的C++开发者,都能从中受益匪浅,快速解决编程中遇到的问题。对于想要深入理解和掌握C++ STL的人来说,这是一份不可或缺的参考资料。
- 2025-02-12 08:11内容概要:本文档详细介绍了 C++ 中 list 容器的使用方法,涵盖了从创建到销毁过程中几乎所有常见的 API 调用方式及其具体含义。主要包括list容器的各种初始化形式、元素插入(如push_back()、push_front()、insert...
- 2020-09-30 08:19kiteee的博客 C++STL容器使用erase方式 函数原型: 从容器中移除所有和value相等的元素 size_type container::erase(const T& value); 将iterator pos位置元素移除, 返回后继位置 iterator container::erase(const_...
- 2024-08-08 06:39吃我一个平底锅的博客 vector中, remove函数和 erase函数都可以实现元素的删除,但它们的用法稍微有些区别: * erase是删除指定位置的元素或者指定区域内的所有元素 * remove是删除和指定元素值相同的所有元素(remove需要和erase搭配...
- 2022-03-07 14:49Giant NG的博客 vector的remove和erase函数的区别 remove() 和 erase()的配合使用和remove()的作用 stl中的remove返回的是什么 erase 简介 vector 中 erase 函数原型如下: iterator erase( const_iterator position); ...
- 没有解决我的问题, 去提问
问题事件
联系我们(工作时间:8:30-22:00)
400-660-0108kefu@csdn.net在线客服
- 京ICP备19004658号
- 经营性网站备案信息
公安备案号11010502030143
- 营业执照
- 北京互联网违法和不良信息举报中心
- 家长监护
- 中国互联网举报中心
- 网络110报警服务
- Chrome商店下载
- 账号管理规范
- 版权与免责声明
- 版权申诉
- 出版物许可证
- ©1999-2025北京创新乐知网络技术有限公司