跳转至

2025 年

vcpkg快速入门指南

Vcpkg 是由 Microsoft 和 C++ 社区维护的免费开源 C/C++ 包管理器,可在 Windows、macOS 和 Linux 上运行。 它是核心的 C++ 工具,使用 C++ 和 CMake 脚本编写。 它旨在解决管理 C/C++ 库的独特难题。

为什么使用 vcpkg?

  • 在特选注册表中有超过2300 个开源库可供选择,这些库会定期生成,用于验证 ABI 兼容性
  • 支持使用自己的自定义库包创建自定义库注册表
  • 适用于 Windows、macOS 和 Linux 的一致的跨平台体验
  • 使用任何生成和项目系统都可以轻松将库添加到项目
  • 从源生成依赖项或下载预生成的 ABI 验证二进制文件,默认提供 70 多个配置,并可针对特定要求进行无限自定义
  • 通过独特的版本控制设计,防止依赖项之间出现版本冲突和菱形依赖问题
  • 对于 MSBuild 和 CMake 用户:自动与生成环境集成,打造无缝获取依赖项的体验

从零开始写一个哈希表

这篇笔记是对教程:write a hash table 的学习总结。该教程使用C语言,从零开始实现了一个哈希表,教程中哈希表实现使用了开放地址法双重哈希等技术。本篇笔记中部分内容对原教程进行了拓展。

什么是哈希表?

哈希表(Hash Table)是一种基于键值对(Key-Value)存储的高效数据结构,通过哈希函数(Hash Function)将键(Key)映射到数组的特定位置(桶),从而实现平均 O(1) 时间复杂度的插入、查找和删除操作。

下面是基于哈希表存储电话簿的结构图: