Skip to content

PredyDaddy/My_CPP_Note

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

目录

1. Base01

  1. Ubuntu下使用vcsode配置编译C++的环境
  2. C++基本概念
  3. 变量的基础语法
  4. 命名空间
  5. 引用

2. cmake和Makefile

  1. Makefile(待更新)
  2. cmake安装,工程目录,简单的使用模版

3.循环,操作符,条件判断

  1. 条件符号
  2. 类型模版
  3. 结构体,指针类型, &在等号左边是取引用,在等号右边是取地址,这里是取地址
  4. C语言的强转类型
  5. 引用的案例
  6. 指针案例
  7. 循环
  8. 条件判断

4.初始函数,数组,字符串,内联函数

  1. C++函数
  2. 函数的传值,传引用,传指针
  3. 函数默认参数的注意事项
  4. lambda函数
  5. 内联函数
  6. 宏的定义
  7. 实现函数重载的条件
  8. 数组
  9. C风格的字符串

5.初识结构体,类,继承

  1. 类和结构体
  2. 结构体
  3. 类(主要记录了使用)
  4. 友元函数/类
  5. 类的继承
  6. 多继承
  7. 菱形继承
  8. 继承的一些特殊情况
  9. 重载与重写
  10. 实现函数重载的条件
  11. 单继承中构造函数和析构函数的调用顺序
  12. 派生类中的成员变量和基类中的成员变量名冲突
  13. 基类派生类成员变量名称冲突
  14. 隐藏
  15. 复习类中的静态成员变量和普通成员变量的区别
  16. 继承中的静态成员特性

6. 进程的虚拟地址空间内存划分和布局

  1. 两种语言的字符串指针简单看下内存问题
  2. 进程线程
  3. 进程在内存可用的主要的三个布局
  4. 虚拟地址空间
  5. 总结

7.函数调用堆栈的详细过程

  1. 函数的堆栈详细调用过程
  2. 栈帧的基础知识
  3. 寄存器
  4. 函数的调用1: 压栈
  5. 函数的调用2: call指令
  6. 函数的调用2: call指令 call sum的过程
  7. 函数的调用3: 进入sum函数的第一件事情,左括号跟第一句之间干的事情
  8. 函数的调用4: 在新开辟的空间里面
  9. 函数的右括号: 归还栈空间并且回到原来的地方

8.C++中的函数

  1. 掌握形参带默认值的函数
  2. 内联函数的深入理解
  3. 函数重载(深入)

9.const详解以及与多级指针的结合

  1. const详解
  2. const与指针的结合
  3. Const与一级指针的结合
  4. const和二级指针的结合
  5. 几种不同的const结合方法
  6. 二级指针公式(类型转换)
  7. 二级指针结合const防止报错的方法
  8. 几道题目训练

10.理解引用

  1. 深入理解引用
  2. 左值引用和右值引用
  3. const 结合一级指针
  4. 指针覆盖引用的案例,学会还原指针/引用

11.理解new_delete

  1. new delete 基础
  2. 开辟数组内存
  3. new的几种变种

12.理解面向对象编程

  1. OOP编程, this 指针
  2. 一个OOP的思想案例: 用类描述商品实体
  3. this指针
  4. OOP 练习,用OOP写一个顺序栈
  5. 构造函数和解析函数
  6. 对象的浅拷贝和深拷贝
  7. 深拷贝函数: 自定义拷贝函数
  8. 为什么深拷贝不用memcopy用for循环?
  9. 赋值重载函数
  10. 完整版代码: 赋值重载函数+拷贝构造函数

13.泛型编程

  1. 函数模版的基本使用
  2. 通过符号表深入理解函数模版
  3. 函数模版的重载
  4. 函数模版总结
  5. 类模版的定义
  6. 类模版的特化
  7. 继承中类的模版使用
  8. 总结

14.多态

  1. 多态引入
  2. 怎么理解静态联编
  3. 运算符重载
  4. 友元函数(深入)
  5. 友元类
  6. 动态多态
  7. 虚函数
  8. 虚函数指针
  9. 虚函数表
  10. 虚函数的表指针
  11. 动态绑定
  12. 从编译器的角度看动态绑定
  13. 设计思考: 什么时候将函数设计成虚函数
  14. 纯虚函数
  15. 抽象基类
  16. 抽象基类的设计问题
  17. 虚析构函数

15. 异常和强制类型转换

  1. 抛出异常
  2. 捕获异常
  3. C++中隐式类型转换
  4. 显示类型转换 const_cast
  5. 显示类型转换 static_cast
  6. dynamic_cast
  7. dynamic_cast 安全转换的流程

16. STL

  1. STL 概念
  2. STL分类
  3. vector容器
  4. deque容器(双端队列容器)
  5. deque容器(双端队列容器)
  6. 顺序容器总结: vector, deque, list
  7. 标准容器-容器适配器
  8. queue(队列)
  9. 为什么queue, stack 依赖deque
  10. priority queue为什么依赖于vector?
  11. 关联容器
  12. 有序的关联容器map
  13. 迭代器与可迭代对象
  14. STL中的函数对象
  15. 算法

Releases

No releases published

Packages

No packages published

Languages