摘要: C++ 完美转发是泛型编程里一个关键特性,用来在模板函数中保持参数的“原始值类别”(lvalue/rvalue)和属性(const、引用)。 背景 在模板编程中,函数参数往往需要被“原封不动”地传递到另一个函数。例如: 如果传入的是左值,就要继续作为左值传给目标函数; 如果传入的是右值,就要继续作为 阅读全文
posted @ 2025-10-08 11:31 木杉的园子 阅读(18) 评论(0) 推荐(0)
摘要: C++11 引入了移动语义,它的出现主要是为了解决对象频繁拷贝带来的性能开销问题。移动语义的核心思想是:当对象的资源不再需要时,可以“转移”它的内部资源,而不是进行昂贵的深拷贝。 背景 在传统 C++ 中,函数参数传递或者返回值通常依赖拷贝构造函数。比如,在调用函数前,通常需要在调用者的作用域中创建 阅读全文
posted @ 2025-10-08 11:11 木杉的园子 阅读(16) 评论(0) 推荐(0)
摘要: 在 C++ 中,指针(Pointer)和引用(Reference)都用于间接访问变量,但是它们在语法和语义上都有显著的差异。指针是一个变量,它可以保存另一个变量的内存地址;引用是另一个变量的别名,由编译器进行处理,使用时与使用原变量无异。 指针和引用使用的一些差异如下: 初始化 指针:可以先定义后赋 阅读全文
posted @ 2025-10-08 09:44 木杉的园子 阅读(40) 评论(0) 推荐(0)
摘要: 跳表(Skip List)是一种用于查找的类似于链表的数据结构,是对有序链表的改进,能够在 \(O(\log{n})\) 时间内完成增加、删除、查找操作。跳表相比于树堆与红黑树,其功能与性能相当,并且跳表的代码长度相较下更短。 1. 什么是跳表 跳表包含多个层级,每个层级包含一个有序的短链表。在跳表 阅读全文
posted @ 2025-10-04 20:52 木杉的园子 阅读(18) 评论(0) 推荐(0)
摘要: 字典树(Trie)是一种树形数据结构,主要用于高效地存储和检索字符串集合。它通过利用字符串的公共前缀来节省存储空间,常用于词典查询、自动补全等场景。 1. 什么是字典树 字典树的每条边代表一个字符,从根节点到某一节点的路径表示一个字符串。如果某节点被标记为结束节点,则表示该路径对应的字符串存在于集合 阅读全文
posted @ 2025-10-04 18:02 木杉的园子 阅读(20) 评论(0) 推荐(0)
摘要: 在实现二叉树遍历时,使用递归的方式是比较直观的方式。然而递归依赖系统调用栈,一方面在树深度很大时可能导致栈溢出,另一方面在工程实践中往往需要更灵活的控制方式。于是,非递归遍历成为一种必要补充:通过显式地维护栈或队列来模拟递归过程,从而在不依赖系统栈的情况下完成遍历。本博客将介绍一些非递归的方式实现二 阅读全文
posted @ 2025-09-28 15:16 木杉的园子 阅读(26) 评论(0) 推荐(0)
摘要: 当缓存容量固定时,我们需要一种淘汰策略:每次访问把数据标记为“最近使用”,当容量满了时淘汰“最久未使用”的那个,以提升缓存命中率。这就是 LRU 的核心。 以下是一个使用 C++ 实现的 LRU Cache 模版,拥有以下特性: 使用 std::list 维护一个缓存列表,头部的缓存块为最近使用的、 阅读全文
posted @ 2025-09-03 17:02 木杉的园子 阅读(20) 评论(0) 推荐(0)
摘要: llama.cpp 是使用 C/C++ 编写的高性能推理框架,没有外部依赖,因此可以跨平台快速部署。并且,llama.cpp 还支持多种硬件平台上的计算库,包括 Metal、BLAS、CUDA、Vulkan、CANN 等,以加速模型的推理。此外,llama.cpp 还支持多种量化方案以加快推理速度并 阅读全文
posted @ 2025-08-28 16:21 木杉的园子 阅读(303) 评论(0) 推荐(0)
摘要: GNU 工具和 RealView 编译工具(RVCT)的最新版本均支持 NEON 指令。 1. NEON Assembler 使用 NEON 单元最直接的方式是编写汇编代码。GNU 和 RVCT 汇编器采用相同的指令格式,但是存在一些差异,包括:汇编器指示(assembler directives) 阅读全文
posted @ 2025-08-22 16:58 木杉的园子 阅读(44) 评论(0) 推荐(0)
摘要: ARMv7 架构引入了 Advanced SIMD 作为 ARMv7-A 和 ARMv7-R 架构的可选扩展。它通过定义对存储在 64 位 D(双字)寄存器和 128 位 Q(四字)向量寄存器中的向量进行操作的指令组,扩展了 SIMD 概念。ARM 处理器中使用的高级 SIMD 扩展实现被称为 NE 阅读全文
posted @ 2025-08-22 16:57 木杉的园子 阅读(74) 评论(0) 推荐(0)