社区
C++ 语言
帖子详情
C++ list 感觉很鸡肋,不知道哪种场景适合用它
自由技艺
2020-01-10 12:38:08
。。。。。。。。。。。。。。
...全文
435
12
打赏
收藏
C++ list 感觉很鸡肋,不知道哪种场景适合用它
。。。。。。。。。。。。。。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
智者知已应修善业
2020-01-13
打赏
举报
回复
当使用循环可以实现递归一样还原现场的目时,则应该有所选择.
轻箬笠
2020-01-13
打赏
举报
回复
版主的回答很正啊。我觉得没有特殊需求,随便用吧,看个人喜好。
sdghchj
2020-01-13
打赏
举报
回复
我不用java,所以我觉得java鸡肋
qq_40162781
2020-01-13
打赏
举报
回复
经常插入和删除选择list
「已注销」
2020-01-12
打赏
举报
回复
说明你没使用LIST的强需求
「已注销」
2020-01-12
打赏
举报
回复
std::list相当有用,我很少用vector,基本上都是list, map,set这种
yshuise
2020-01-10
打赏
举报
回复
deque是个复杂的数据结构,没有想象中的好
smwhotjay
2020-01-10
打赏
举报
回复
list插入 删除效率高。
自由技艺
2020-01-10
打赏
举报
回复
(1)如果你需要高效的随即存取,而不在乎插入和删除的效率,使用vector (2)如果你需要大量的插入和删除,而不关心随机存取,则应使用list (3)如果你需要随机存取,而且关心两端数据的插入和删除,则应使用deque
weixin_43514850
2020-01-10
打赏
举报
回复
版主解答的很详细,学习了
Italink
2020-01-10
打赏
举报
回复
使用vector就会带来一些问题: 当超出容量时,就会需要分配空间,转移数据,析构,这样会耗费很多时间,所以使用vector,最好一开始就定义足够的空间,而不是为了单单简单通过push_back来增加元素,这样效率非常低,因为会有很多次的空间分配等 另一个问题是,如果超出capacity,重新分配空间,元素的地址就发生了变动,如果原来有指针指向内部元素,那么这个时候就会变成野指针,而使用list就可以避免这个问题
Italink
2020-01-10
打赏
举报
回复
当你了解vector是如何实现可变长,就会知道为什么会需要list,按理来说,数组的长度是固定的,而vector只是实现分配一部分空间(capacity),当容量不足时,重新开辟一块两倍于原空间大小的空间,将原空间的数据转移过去,然后再析构原空间,list是通过链表实现,它才能真正做到真正意义上的可变长
C++
11(上)
ret1是已经创建好的变量,之前说过拷贝构造+赋值重载不能进行优化,所以这里会发生2个步骤,先创建一个临时对象,编译器在这里会很聪明的把str的返回值识别成一个右值,这样的话临时对象就不会调用拷贝构造str,而是直接移动构造str,然后再把临时对象作为to_string的返回值赋值给ret1。是一个数据的表达式(如变量名或者指针解引用),可以在该语句之后还能获取到他的地址,能对他进行取地址和赋值操作,左值既可以在赋值符号左边,也可以在右边。x是一个静态变量,可以直接返回x,且传引用返回没问题,减少值拷贝。
Linux ext3文件删除原理与数据恢复实战指南
在Linux系统中,文件删除本质上是元数据标记而非物理擦除,尤其在ext3/ext4文件系统中,rm命令仅修改inode链接计数和块位图,原始数据块仍完整保留在磁盘上。这一底层机制构成了数据可恢复的理论基础。理解inode结构、block分配逻辑及binlog等日志机制,是实施有效恢复的关键技术前提。其核心价值在于将‘误删’从不可逆事故转化为可控的工程问题,广泛应用于生产环境故障抢修、数据库崩溃恢复、运维事故应急等真实
场景
。本文聚焦ext3文件系统下rm -rf误操作后的数据抢救全过程,深度解析ext3gr
Kali实战:MSF木马免杀与多引擎检测对抗技术详解
在网络安全领域,恶意软件检测与防御是攻防对抗的核心。杀毒软件和终端检测与响应系统主要依赖特征码检测、启发式分析和行为监控三重机制来识别威胁。特征码检测通过比对已知恶意代码的二进制指纹实现快速拦截;启发式分析则基于代码结构和API调用模式等静态特征评估风险;行为检测则在沙箱环境中动态监控程序的网络连接、文件操作等可疑活动。掌握这些原理对于开发有效的对抗技术至关重要。免杀技术的核心价值在于,它能帮助安全研究人员和渗透测试人员在授权测试中,更真实地评估目标系统的防御盲区,从而提升整体安全水位。在红队演练和渗透测试
Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web
手机已经 root安装 tsu,这是一个 su 的 Termux 版本,是一个真正的 root 权限,用来在 Termux上替代su,操作不慎可能对手机有安全风险,因为官方封装了,所以安装也很简单:安装 tsu:pkg install tsu -y切换到 root:tsu退出 root:exittsu切换 root 用户时会弹出 root 授权提示,给予其 root 权限即可。在管理员身份下输入 exit 可回到普通用户身份。
爬虫抓包:Reqable(俗称“小黄鸟”)——下一代移动端抓包与调试神器全攻略
凭借其标志性的明黄色图标,Reqable 在中文技术圈被亲切地称为**“小黄鸟”**(与大名鼎鼎的“小黄鸟”网络测试工具同名,但功能天差地别)。Reqable 以其**原生
C++
编写的超高性能、堪比浏览器 DevTools 的现代化 UI、以及革命性的“无需 Root 绕过 HTTPS 限制”功能**,迅速席卷了开发者和逆向工程师的工具箱。
C++ 语言
65,210
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章