首页
社区
课程
招聘
[求助]QString 反复赋值不同长度的字符串 会出现内存碎片吗
发表于: 2018-8-20 17:37 3241

[求助]QString 反复赋值不同长度的字符串 会出现内存碎片吗

2018-8-20 17:37
3241
最近在写一个程序 给一个全局的QString反复赋值长度不同的字符串。如果操作量大了 会出现内存碎片的情况吗

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 776
活跃值: (3425)
能力值: ( LV7,RANK:140 )
在线值:
发帖
回帖
粉丝
2
不会。虽然我不会QT,但是我猜实现方式应该是这样的:你给一个字符串,他申请一个差不多的空间,你缩短,他空间不会缩短(如果缩短很多也不排除会做内存优化重新申请短的),你拉长,他重新申请一个足够的差不多空间。大概应该是这样的
2018-8-20 17:52
0
雪    币: 126
活跃值: (184)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3
一般内存管理器会有个最小对齐的,比如64KB对齐,就是实际上内存申请的大小都是64KB。
比如你反复申请的都是100KB大小的内存,那么反复给你的都是128KB的这块重复利用的。
这是最基础的,还有一些针对性的,比如有的还分为大小块,大块是多少多少对齐的(例如100MB),小块的是多少对齐的(比如64KB)等等。
如果针对具体业务写的专用内存管理器还可以做得更好。
最后于 2018-8-23 09:41 被wr960204编辑 ,原因: 有笔误
2018-8-23 09:40
0
游客
登录 | 注册 方可回帖
返回
//