Skip to content

卡内基梅隆大学为选修 15-445/645(Intro to Database Systems)开展的 C++ 语法迷你训练营,旨在提供现代 C++ 编码的基本介绍,涵盖引用和移动语义、模版、标准库(STL)容器、内存、同步基元等概念

License

Notifications You must be signed in to change notification settings

ascendho/cpp-bootcamp

Repository files navigation

C++ 现代语法特征训练营

image-20250825222353105

本训练营旨在为你提供现代 C++ 编程的基础入门知识。C++ 语言的特性极为丰富且涉猎广泛,无法在一次训练营中全部涵盖,而且坦白说,这门语言最好通过实践来学习。工作人员相信,15-445 这门课程会让你成为一名更自信的 C++ 程序员!不过,我们确实会涉及一些在完成编程作业时必须掌握的 C++ 知识点。本教程不涵盖基础的 C/C++ 语法,主要介绍 C++ 的编程特性,尤其是那些 C 语言中不存在的概念。

本仓库主要记录个人对该训练营内容的学习过程,并整理原项目代码文件的结构,使得更易于上手和使用;同时对英文注释进行翻译,对暂时具有语言障碍的新手更加友好;最后对部分概念补充了一些简要的笔记,可供有需要的人参考。

进度表

序号 章节 代码 笔记
1 References and Move Semantics references.cpp N/A
move_semantics.cpp 移动语义.md
move_constructors.cpp 移动构造函数.md
2 C++ Templates templated_functions.cpp 模版函数.md
templated_classes.cpp N/A
3 Misc wrapper_class.cpp 包装类.md

构建方式

该训练营包含若干 C++ 代码文件,位于各章节目录下,建议深入研读。每个代码文件均可编译为与其同名的可执行文件。请使用 CMake 构建这些可执行文件,以下一组命令应能完成所有可执行文件的构建:

$ mkdir build
$ cd build
$ cmake ..      // 调用CMake工具,去上级目录寻找CMakeLists.txt文件
$ make -j8      // 调用Make工具来执行编译,-j表示并行,8表示最多使用8个CPU核心 

执行这些命令后,生成的可执行文件将位于 build 目录中。例如, 1 - References and Move Semantics/references.cpp 文件会编译为 references 可执行文件,位于 ./build 目录下。其余代码文件亦是如此。

参考资源

虽然这次集训营力求尽可能全面,但它仍然只涵盖了使用现代 C++ 的基础内容,在你应用 C++ 构建大型程序的过程中,还需要查阅很多其它可用的资源。下面列举几例,它们的内容都非常全面(比这次集训营全面得多),但在可读性方面可能有所欠缺。但总的来说,我认为还是应该试着去阅读并理解这些资料,尤其是在做项目的时候。

  1. cppreference:非官方但相当准确的C++和C标准摘要及示例
  2. cplusplus:包含 C++语言教程C++库参考手册 两部分内容
  3. 《现代 C++ 教程》:此GitHub仓库包含一些实用的信息和练习题

许可证

  1. 本项目基于 15445-bootcamp 进行翻译和扩展,原项目版权(包括源代码文件)归属 原作者 所有,扩充的笔记内容归属本人所有,均遵循 Apache License 2.0 协议。
  2. 本仓库作为个人学习进度的记录,包括相关材料的整理备份、翻译和补充,并对有需要的人提供帮助。

About

卡内基梅隆大学为选修 15-445/645(Intro to Database Systems)开展的 C++ 语法迷你训练营,旨在提供现代 C++ 编码的基本介绍,涵盖引用和移动语义、模版、标准库(STL)容器、内存、同步基元等概念

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published