C++20 容器课

手搓一个 vector,把 allocator 和生命周期写明白。

这是一份可以在浏览器里抄完的教程。你不需要克隆本教程的 Git 仓库: 「起步」页里有 CMake、作业纸、测试和演示程序的完整文件。 抄到本地空白目录,就能编译、逐步把测试跑绿。卡住了先看 常见问题。

你会实现 reserve、resize、push_back、emplace_back、pop_back,并让 T 可以没有默认构造函数。自定义分配器走 std::allocator_traits,空分配器用 [[no_unique_address]]。

八个章节

怎么学

  1. 在起步页创建本地目录,把列出的文件逐个保存(或下载压缩包)。
  2. 用作业纸 student/mini_vector/vector.hpp:上半是声明,下半用各章「可粘贴代码」整段替换 TODO。
  3. 每步用页面底部的 gtest_filter 验收。编译报错先看常见问题,逻辑卡住再打开参考答案。