10 2024 档案
摘要:背景: 前几天去面试,被问到了一个问题:“malloc的底层实现是怎样的? 怎样防止内存碎片?” 当时答的不够好,现在再整理一下。 (本文档通过收集整理网上博客而来。先挖个坑,等有时间了去看一下《深入理解操作系统》的第九章虚拟内存,再重新整理一篇) 内存布局 Linux中每个进程都有自己的虚拟地址空
阅读全文
摘要:背景: C++ 异步调用是现代 C++ 编程中的一种重要技术,它允许程序在等待某个任务完成时继续执行其他代码,从而提高程序的效率和响应性。 C++11 引入了 std::async、std::future 和 std::promise 等工具,使得异步编程变得更加方便和直观。以下是关于 C++ 异步
阅读全文
摘要:背景: 接触到一个很有意思的题目:如果在单例模式中返回share_ptr ??? static std::shared_ptr<Singleton> getInstance() ; 分析: 这个问题的难点在于如果要实现单例,那么一定要把构造函数变成私有的,但是make_shared一定是调用的pub
阅读全文
摘要:题目: 有一个游戏中的三维地图,是由i,j,k三个轴组成的三维网络。每个立方体由不同的种类代表,比如空气,水,沙子,泥土。地图上方的空气方块,不会经常变动且数量占大多数,下方是各种类型的方块,会经常相互转换(水变沙子,沙子变泥土等)。 问题:请你实现一个存储该地图的方案(地图方块和对应类型)。要求:
阅读全文
摘要:背景: 想着自己实现一个好看一点的按钮,切换时加一点动画。也算巩固一下Qt的基本知识。 基本环境: 主要用到的类有: QBrush:画刷,主要是画一些颜色啥的。 QPainter:画笔,可以画形状。比如带弧形的矩形,圆形,写字等。 QPropertyAnimation:动画相关。 关键逻辑: 重载p
阅读全文