CplusplusQuickGuide
CplusplusQuickGuide copied to clipboard
📚 一篇快速掌握基础C++的面向对象的教程,这个旨在能够快速回顾c++的面向对象基本知识。
CplusplusQuickGuide
一篇快速掌握基础C++的教程,最近在Linux下编程较多用到的C++知识有些许荒废了,这个旨在能够快速帮助自己回顾c++的面向对象基本知识。
请先看C++的思维导图
C++基础快速上手
| C++基础上手教程 | |
|---|---|
| 一.面向对象基础思想和类中的几大基础函数 | 二.继承与多态基础 |
| 三.多重继承基础 | 四.虚函数,抽象和封装的基础 |
| 五.友元基础 | 六.C++的文件IO |
| 七.C++的泛型编程(模板)基础 | 八.namespace命名空间基础 |
从底层原理探究C++
知道了为什么?就知道了知识。
有一部文章我全部以源代码+注释形式书写直接看源文件即可,看了示例代码与注释就能弄明白相应的知识点。只有关键部分会有专门文章总结。代码才是最好的老师。
一.虚拟内存,函数堆栈调用过程,编译链接详解--从底层来理解代码
-
C++基础精髓依次讲述了C++函数知识,const关键字与指针,左值右值引用,以及C++的内存管理。
-
右值引用是C++减少默认函数调用,智能指针,move移动语义和forward类型完美转发的基石也是现代C++极其重要的特性。到了C++的优化中我会花大力气讲述右值引用带来的巨大提升。
-
什么是右值
-
指针精讲,从指向变量常量到函数指针到回调函数
三.C++类的各种细节和原理
源文件在 点此跳转 为什么C++会有这一些函数?赋值构造函数和拷贝构造函数解决了什么问题(浅拷贝)? 构造函数,析构函数,拷贝构造函数,赋值构造函数,以及后续会讲到的move构造函数是为什么存在?(这个学名叫move constructor,有的中文翻译为带右值引用参数的构造函数这种翻译是不太好的)
模板编程到模板元编程
要明确模板的实例化,模板的实参推演,模板特例化,部分特例化。 一文了解模板以及实现一个vector,这个vector没有迭代器,后面会实现带迭代器版本。
模板基础与实战(实现vector)
元编程基础:属性和静态断言
模板元编程基础(编译期计算)
运算符重载有什么用?要明白运算符重载与泛型算法密切相关。
- 泛型算法参数接收的都是迭代器,泛型算法往往是给所有容器用的全局函数,泛型算法有一套方法能够统一的遍历所有的容器的元素(通过迭代器)。迭代器一般实现为容器的内部嵌套类型,因为不同容器操作不同。
- 而迭代器大量运用到了运算符重载。
通过实现近乎完整String和迭代器失效以及new和delete重载来学习运算符重载
一文理解继承与多态
一文理解多继承与它的坑
基本STL数据结构的使用
八.STL底层原理浅析及使用-源文件夹 stl没有什么好讲的关键构建知识图谱:顺序容器(vector,deque,list),容器适配器即底层是vector等容器的(stack,queue,priority_queue),关联容器(set,map,unordered_set,unordered_map),近容器(string,bitset),迭代器和反向迭代器,函数对象,泛型算法
其中难以理解的就是函数对象,所谓函数对象就是重载了该()运算符的对象而已。
C++的优化以及C++11-20的新特性的探索
C++的优化以及右值引用的价值 -- 讲解了move和forward,实现了更加完整的vector
理解智能指针
c++函数式编程
C++的函数对象function,bind绑定器
lambda表达式详解
实战:字符串分割技术以及function原理 -- 用来理解function,bind以及lambda
并发编程
C++20协程原理及使用详解