Skip to content

📚 一篇快速掌握基础C++的面向对象的教程,这个旨在能够快速回顾c++的面向对象基本知识。

Notifications You must be signed in to change notification settings

helintongh/CplusplusQuickGuide

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CplusplusQuickGuide

一篇快速掌握基础C++的教程,最近在Linux下编程较多用到的C++知识有些许荒废了,这个旨在能够快速帮助自己回顾c++的面向对象基本知识。

请先看C++的思维导图 C++基础

C++基础快速上手

C++基础上手教程
一.面向对象基础思想和类中的几大基础函数 二.继承与多态基础
三.多重继承基础 四.虚函数,抽象和封装的基础
五.友元基础 六.C++的文件IO
七.C++的泛型编程(模板)基础 八.namespace命名空间基础

从底层原理探究C++

知道了为什么?就知道了知识。

有一部文章我全部以源代码+注释形式书写直接看源文件即可,看了示例代码与注释就能弄明白相应的知识点。只有关键部分会有专门文章总结。代码才是最好的老师。

一.虚拟内存,函数堆栈调用过程,编译链接详解--从底层来理解代码

二.C++基础精髓-源文件文件夹

  • C++基础精髓依次讲述了C++函数知识,const关键字与指针,左值右值引用,以及C++的内存管理。

  • 右值引用是C++减少默认函数调用,智能指针,move移动语义和forward类型完美转发的基石也是现代C++极其重要的特性。到了C++的优化中我会花大力气讲述右值引用带来的巨大提升。

  • 什么是右值

  • 指针精讲,从指向变量常量到函数指针到回调函数

三.C++类的各种细节和原理

源文件在 点此跳转 为什么C++会有这一些函数?赋值构造函数和拷贝构造函数解决了什么问题(浅拷贝)? 构造函数,析构函数,拷贝构造函数,赋值构造函数,以及后续会讲到的move构造函数是为什么存在?(这个学名叫move constructor,有的中文翻译为带右值引用参数的构造函数这种翻译是不太好的)

模板编程到模板元编程

函数模板-源代码文件夹

要明确模板的实例化,模板的实参推演,模板特例化,部分特例化。 一文了解模板以及实现一个vector,这个vector没有迭代器,后面会实现带迭代器版本。

模板基础与实战(实现vector)

元编程基础:属性和静态断言

模板元编程基础(编译期计算)

五.运算符重载-源文件文件夹

运算符重载有什么用?要明白运算符重载与泛型算法密切相关。

  1. 泛型算法参数接收的都是迭代器,泛型算法往往是给所有容器用的全局函数,泛型算法有一套方法能够统一的遍历所有的容器的元素(通过迭代器)。迭代器一般实现为容器的内部嵌套类型,因为不同容器操作不同。
  2. 而迭代器大量运用到了运算符重载。

通过实现近乎完整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++优化及右值引用-源文件夹

C++的优化以及右值引用的价值 -- 讲解了move和forward,实现了更加完整的vector

智能指针源文件夹

理解智能指针

c++函数式编程

function-bind绑定器-lambda-源文件夹

C++的函数对象function,bind绑定器

lambda表达式详解

实战:字符串分割技术以及function原理 -- 用来理解function,bind以及lambda

并发编程

thread库-源文件夹

C++20协程原理及使用详解

About

📚 一篇快速掌握基础C++的面向对象的教程,这个旨在能够快速回顾c++的面向对象基本知识。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages