秋招日记(三十四)又一个周日

学习记录

  • 继续学习QT

秋招记录

  • 被联想调剂岗位了

  • .NET开发工程师描述

  • C++开发工程师岗位描述

  • 完全不一样的岗位,完全不一样的技术栈,后端能调去前端,无语

QString扩容策略

  • 分享一下今天学到的神奇知识
  • QString容器大小的增长实例
QString onlyLetters(const QString &in)
{
   QString out;
   for (int j = 0; j < in.size(); ++j) {
       if (in[j].isLetter())
           out += in[j];
   }
   return out;
}
  • 通过每次添加一个字符来动态地构建字符串。假设向QString字符串添加15000个字符。然后,当QString耗尽空间时,会发生以下18个重新分配(可能的15000):4、8、12、16、20、52、116、244、500、1012、2036、4084、6132、8180、10228、12276、14324、16372。最后,QString分配了16372个Unicode字符,其中15000个被占用。
  • 其中分配策略如下:
    • 每次分配4个字符,直到20
    • 20~4084,每次增长都翻倍,下一个2的幂,减去12
      • 不使用2的幂是因为有的内存分配器在分配2的幂大小的内存时,性能最差,因为它会使用每个内存块的几个字节记录信息
    • 4084以上,每次增加2048个字符位
      • 一个物理分页的典型大小为4k,且现代处理器在分配缓冲区时,不会真正移动元素,而是将物理内存进行排序,增加分页大小数据有利于重新分配
#我的秋招日记##联想#
全部评论
调剂完是什么状态啊,我也被调剂到这个,变成已处理之后就没消息了
点赞 回复 分享
发布于 2022-08-22 08:44 安徽
楼主你好像忘记打码了
点赞 回复 分享
发布于 2022-08-22 01:39 上海
可能重点在.net?😂😂
点赞 回复 分享
发布于 2022-08-21 22:26 广东

相关推荐

不愿透露姓名的神秘牛友
07-11 11:22
怎么这么多逆天求职者,救救我救救我救救我😭
flmz_Kk:哈哈哈哈哈哈,这么多求职者,肯定有那一两个逆天的
点赞 评论 收藏
分享
程序员小白条:找的太晚,别人都是大三实习,然后大四秋招春招的,你大四下了才去实习,晚1年
点赞 评论 收藏
分享
评论
6
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务