返回博客
Programming/11 篇
C++ 程序设计
从内存布局一路走到现代标准的 C++ 笔记,始终把底层机器放在视野里。主要参考《C++ Primer Plus》与《深入理解计算机系统》。
- 01C++ #1 数据与内存C++ 如何在内存中安放数据:内置类型、它们的存储大小、字面量,以及编译器替你做的那些类型转换。2024-01-02 · 14 min read
- 02C++ #2 Struct 和 Union用 struct 和 union 组织数据 —— 成员布局、内存对齐与填充,以及什么时候 union 是正确的工具而不只是个花招。2024-01-14 · 12 min read
- 03C++ #3 指针与数组指针里装的只是地址而已。声明语法、指针运算、数组与指针的关系,以及用 new/delete 做动态分配。2024-01-28 · 9 min read
- 04C++ #4 函数函数原型、三种传参方式、函数指针、内联、重载与模板 —— 以及它们各自在运行时的代价。2024-02-11 · 21 min read
- 05C++ #5 对象与类类是怎么在内存里落地的:构造与析构的顺序、this 指针、初始化列表,以及 const 成员函数真正约束了什么。2024-02-25 · 7 min read
- 06C++ #6 继承继承在做什么:子对象的内存布局、三种继承权限、构造析构的调用链,以及菱形继承和虚继承。2024-03-10 · 7 min read
- 07C++ #7 拷贝控制与运算符重载拷贝、移动与运算符重载:三/五法则、深浅拷贝的区别,以及为什么 swap 能让赋值运算符变得异常安全。2024-03-24 · 8 min read
- 08C++ #8 多态通过虚函数与虚表实现的动态多态、为什么析构函数需要是虚的,以及模板免费提供的静态多态。2024-04-07 · 14 min read
- 09C++ #9 C++11 新特性改变了 C++ 写法的那一版:auto、范围 for、智能指针、Lambda、移动语义、nullptr、constexpr 与变参模板。2024-04-21 · 13 min read
- 10C++ #10 C++14 新特性C++14 是一次补丁式的更新:泛型 Lambda、返回类型推导、make_unique,以及那些让 C++11 真正好用的小修补。2024-06-09 · 6 min read
- 11C++ #11 C++17 新特性C++17:结构化绑定、if constexpr、string_view、optional / variant,以及那些真正改变日常写法的特性。2024-06-23 · 7 min read