摘要: 在 C++ 中,new 是我们最常用的内存分配方式之一。很多初学者会以为 new 只是一个语法糖,用来代替 C 语言的 malloc,但实际上,new 背后涉及的是一整套机制,其中包括 operator new、placement new 等概念。 1. new 我们一般使用以下语句创建一个对象: 阅读全文
posted @ 2025-04-18 23:35 木杉的园子 阅读(100) 评论(0) 推荐(0)
摘要: Dijkstra 算法是解决图论最短路径问题的经典算法,本文将介绍使用优先队列优化的 Dijkstra 算法。 1. Dijkstra 算法的基本步骤 Dijkstra 算法适用于非负权重的有向或无向图,其核心思路是: 初始化:将源点到自身的距离设为 0,到其他所有顶点的距离设为无穷大; 重复以下操 阅读全文
posted @ 2025-04-18 22:33 木杉的园子 阅读(311) 评论(0) 推荐(0)
摘要: 如果需要在程序中频繁地创建和删除小对象,如果直接对内存进行操作可能会造成较大的时间开销和内部碎片,而对象池是针对这一场景的有效优化手段。通过提前分配一定数量的对象在对象池中,并在需要时从池中获取对象,使用完毕后再归还给池,可以减少动态分配内存的次数,避免频繁的创建和销毁操作,从而提高性能和资源利用率 阅读全文
posted @ 2025-04-18 16:57 木杉的园子 阅读(63) 评论(0) 推荐(0)