【带头学C++】----- C++基础知识到中级----自我总结目录(快点来个人一起学习啊)

      本篇栏目主要是复习C++的一些基础知识,由浅入深的系统学习一遍。尽管大致的基础我已经学了一遍,这里作为复习的知识总结,主要是把我之前记录的笔记和代码汇总一下。同时本目录里面包含了部分网上找的视频学习知识,还有工作中使用到的一些知识,三方库的使用,标准库的使用,还有c++11-17标准库的使用等等,现在来总结一套属于自己的C++知识框架。慢慢更新,以后自己查阅的时候,直接查阅这里的目录,就可以了.......很快啊......

写代码最重要的对我来说是:

1.思考问题的逻辑、方式、顺序。源头精神(可以看看书《代码的逻辑》)

2.内存管理方面要严格仔细细心

3.对待一个问题,要想从根本解决,就要有一个0-1的过程。别想着一下就做完所有的东西,一点一点吃。并且多沟通,多沟通,多沟通。(重要的东西说三遍,不懂就要问)

4.记录---记录----记笔记很重要,有时候有个东西突然记不住了就要去百度,学会自己大脑里面构造一个图谱,自己的笔记也很重要。

5.我始终是菜鸟,那就比别人早点飞翔吧。

一、 基础知识 ---- 入门篇

(这里就是推荐大家去b站找千锋教育的网络基础班看一下,很快就能上手写代码,这里的目录我后面还会改)

第一章:C++入门

1.1 C++的历史和特点

1.2 C++的编译和运行

1.3 C++的基本语法和规范

1.4 开发环境的搭建

1.5 环境搭建 vs2019(用22,或者17都行,也有人使用vscode学c++) 或者 QtCreator(主推)

1.6 创建c++工程项目、输出第一个程序hello world

1.7 注释语句 //、/**/、

1.8 关键字的介绍

1.9 常量与变量

1.9.1 整型常量、定义

1.9.2 变量的初始化、声明

1.10 字符常量、字符变量、获取字符键盘的输入

1.11 字符常量---字符串常量的区别

1.12 数据类型--实型、有符号数、无符号数

1.13 各类进制的概述

1.13.1 十进制转其他进制(10---2、8、16)

1.13.2 其他进制转十进制(2、8、16---10)

1.13.3 其他进制转换

1.14 原码、反码、补码

1.15 对数据的存、取

1.16 Const关键字

1.17 Register关键字

1.18 volatile强制访问内存

1.19 Sizeof 计算类型占比内存的大小

1.20 Typedef 为已有的类型取别名

1.21 转义字符

1.22 类型转换

1.23 运算符概述

1.23.1 算术运算符

1.23.2 复合运算符

1.23.3 关系运算符

1.23.4 逻辑运算符

1.23.5 产生随机数

1.23.6 按位与 以及 按位取反

1.23.7 按位异或运算符

1.23.8 右移运算符

1.23.9 位运算符的综合应用

1.23.10 三目运算符

1.23.11 运算符优先级

1.23.12 自增自减

1.24 逻辑控制语句

1.24.1 if以及if - else

1.24.2 if - else if

1.24.3 Switch

1.24.4 For

1.24.5 for与break 、continue

1.24.6 for循环嵌套for

1.24.7 While循环

1.25 数组篇

1.26.1一维数组的定义

1.26.2 一维数组的初始化以及...

1.26.3 二维数值数组

1.26.4 一维字符数组

二、函数章

2.1 函数的定义声明以及调用

2.2 函数的参数

2.3 预处理--内存分区

2.4 预处理--宏函数

三、指针章

3.1 指针变量的定义

3.2 指针变量的类型

3.3 指针变量指向类型的作用

3.4 数组元素的指针

3.5 字符串与数组

3.6 指针数组

3.7 数组指针

3.8 二维数组与数组指针的关系

3.9 数组作为函数的参数

3.10 函数指针作为函数的参数

四、 动态内存、结构体章

4.1 动态内存--new 和 delete

4.2 字符串操作函数

4.3 结构体--结构体变量

4.4 结构体--结构体变量的赋值

4.5 结构体--结构体数组

4.6 结构体--结构体的深拷贝和浅拷贝问题

4.7 结构体--结构体对齐规则以及位域

4.8 结构体--共用体以及枚举 union、enum

五、 学生管理系统---链表章

5.1 静态链表

5.2 main函数设计学生管理系统

5.3 删除链表节点

5.4 释放整个链表

六、扩展篇 cpp对c的扩展

6.1 cpp对于c的扩展--命名空间

6.2 结构体增强以及bool

6.3 引用

6.4 函数重载

6.5 函数的默认参数与占位符...

七、类和对象篇

7.1 类的定义

7.2 设计一个立方体的类

7.3 类外或其他源文件实现类...

7.4 构造函数

7.5 析构函数

7.6 拷贝构造函数

7.7 拷贝构造的深拷贝

7.8 对象成员以及初始化列表

7.9  explicit 防止构造函数隐式转换...

7.10对象数组

7.11 动态数组

7.12 动态对象以及动态对象数组

7.13 静态成员

7.14 单例模式设计

7.15  this指针

7.16  this指针的应用

7.17 友元函数--案例

7.18 动态数组类的设计

7.19 全局函数重载输出运算符

7.20 重载加法运算符

7.21 重载相等运算符

7.22 重载++ -- 运算符

7.23 MyString类的设计

7.24 MyString类设计案例

7.25 重载函数调用运算符

7.26 智能指针

八、 继承、多态

8.1 继承--继承的方式

8.2 继承--继承中构造和析构的顺序

8.3 继承--继承中的同名处理

8.4 继承--多继承、菱形继承、虚继承

8.5 多态--多态的引入

8.6 多态--虚函数和纯虚函数

8.7 多态--纯虚函数的案例

8.8 多态--虚析构和纯虚析构

九、 模板篇

9.1 函数模板

9.2 类模板

9.3 数组类模板

9.4 类模板的派生

9.5 类型转换

十、 异常篇

10.1 异常抛出以及捕获异常

10.2 标准异常

十一、STL容器篇

11.1 STL的概述

11.2 String类的API

11.3 vector容器的概述

11.4 未雨绸缪机制

11.5 vector的API

11.6 swap收缩vector空间

11.7 vector容器提高

11.8 deque容器

11.9 stack和deque容器

11.10 list链表容器

11.11 修改set容器的排序规则

11.12 set容器的API

11.13 pair对组

11.14 map容器

11.15 multimap容器的案例

十二、STL算法篇

12.1 函数对象

12.2 谓词

12.3 内建函数对象

12.4 适配器

12.5 常用遍历算法

12.6 常用查找算法

12.7 常用排序算法

12.8 常用拷贝替换算法

12.9 常用集合算法

12.10 综合案例

二、中级实战 ----- 进阶篇

第一章 前言

1.1 前言主要接收本次文章的主要内容深入的方向,结合一些书籍的知识。如何去运用,怎么做到我想要的那种效果,怎么解决需求,怎么提升效率等等。

第二章:指针

2.1 指针的基本概念

2.1.1 内存的分配和地址

2.1.2 指针的定义和声明

2.1.3 指针的初始化

2.2 指针的运算

2.2.1 指针的解引用

2.2.2 指针的算术运算

2.2.2.1 指针的加法和减法

2.2.2.2 指针的比较

2.2.3 指针与数组的关系

2.2.3.1 数组的指针初始化

2.2.3.2 指向数组的指针

2.2.3.3 指针数组和数组指针

2.3 动态内存分配和释放

2.3.1 new和delete操作符

2.3.1.1 使用new为指针分配内存

2.3.1.2 使用delete释放内存

2.3.2 动态内存的生命周期

2.4 指针与函数的关系

2.4.1 函数参数的传递

2.4.1.1 传值调用

2.4.1.2 引用调用

2.4.1.3 指针调用

2.4.2 函数返回指针

2.4.2.1 局部变量的指针返回

2.4.2.2 动态内存的指针返回

第三章:面向对象编程

3.1 类和对象的基本概念

3.1.1 类的定义和声明

3.1.2 对象的创建和使用

3.1.3 成员变量和成员函数

3.2 构造函数和析构函数

3.2.1 默认构造函数

3.2.2 带参数的构造函数

3.2.3 拷贝构造函数

3.2.4 析构函数

3.3 封装性和访问控制

3.3.1 私有成员

3.3.2 公有成员

3.3.3 受保护成员

3.4 继承和派生

3.4.1 单继承

3.4.2 多继承

3.4.3 虚继承

3.5 多态性

3.5.1 静态多态性(函数重载)

3.5.2 动态多态性(虚函数)

3.6 抽象类和接口

3.6.1 纯虚函数和抽象类

3.6.2 接口类

3.7 类的其他特性

3.7.1 静态成员

3.7.2 常量成员函数

3.7.3 友元函数和友元类

第四章:异常处理

4.1 异常的概念和原理

4.2 异常处理的基本语法

4.2.1 try-catch语句块

4.2.2 异常的抛出和捕获

4.3 标准异常类

4.3.1 常见的标准异常类

4.4 自定义异常类

当然,请继续阅读:

第五章:文件输入输出

5.1 文件流的概念和操作

5.1.1 文件的打开和关闭

5.1.2 读取和写入文件

5.1.3 文件位置指针的操作

5.2 文件的输入输出格式

5.2.1 文本文件和二进制文件

5.2.2 格式化输入输出

5.2.3 文件的读写位置

5.3 异常处理和错误检测

5.3.1 文件打开的异常

5.3.2 文件读写的异常

5.3.3 错误检测和处理

第六章:STL库

6.1 STL库的概述和组成部分

6.2 容器

6.2.1 向量(vector)

6.2.2 列表(list)

6.2.3 双端队列(deque)

6.2.3 有序集合(set)和多重集合(multiset)

6.2.4 映射(map)和多重映射(multimap)

6.2.5 unordered_set:无序集合

6.2.6 unordered_map:无序关联数组

6.3 迭代器

6.3.1 输入迭代器

6.3.2 输出迭代器

6.3.3 前向迭代器

6.3.4 双向迭代器

6.3.5 随机访问迭代器

6.4 算法

6.4.1 常用算法函数

6.4.2 排序和查找算法

6.4.3 数值算法

6.4.4 修改和复制算法

6.5 函数对象和仿函数

6.5.1 函数对象的概念

6.5.2 仿函数的定义和使用

6.6 STL库的其他组件

6.6.1 元组(tuple)

6.6.2 堆(heap)

6.6.3 字符串(string)

6.6.4 异常(exception)

第七章:异常处理

7.1 异常的概念和原理

7.2 异常的处理机制

7.2.1 try-catch语句块

7.2.2 异常的抛出和捕获

7.3 标准异常类

7.3.1 常见的标准异常类

7.4 自定义异常类

7.4.1 创建自定义异常类

7.4.2 抛出和捕获自定义异常

第八章:并发编程

8.1 并发编程基础

8.1.1 进程和线程的概念

8.1.2 多线程编程的优势与挑战

8.2 线程的创建和管理

8.2.1 线程的创建

8.2.2 线程的同步与互斥

8.2.3 线程的生命周期

8.3 线程安全和同步

8.3.1 互斥量和临界区

8.3.2 信号量和事件

8.3.3 条件变量和互斥量的组合

8.4 并发数据结构

8.4.1 原子操作和原子类型

8.4.2 线程安全容器

8.4.3 线程安全队列

8.5 并发模式和技术

8.5.1 生产者-消费者模式

8.5.2 线程池和任务调度

8.5.3 异步编程和Future模式

第九章:网络编程

9.1 网络编程基础

9.1.1 客户端-服务器模型

9.1.2 TCP和UDP协议

9.1.3 IP地址和端口号

9.2 Socket编程

9.2.1 Socket的创建和绑定

9.2.2 TCP Socket编程

9.2.2.1 客户端Socket编程

9.2.2.2 服务器Socket编程

9.2.3 UDP Socket编程

9.2.3.1 客户端Socket编程

9.2.3.2 服务器Socket编程

9.3 并发网络编程

9.3.1 多线程服务器

9.3.2 多进程服务器

9.3.3 IO多路复用

9.4 HTTP协议和Web编程

9.4.1 HTTP请求和响应

9.4.2 使用HTTP库进行Web编程

第十章:图形库

10.1 图形库的基本概念和作用

10.2 常见的C++图形库

10.2.1 Qt图形库

10.2.1.1 GUI编程和信号槽机制

10.2.1.2 绘图和图形界面设计

10.2.2 SFML图形库

10.2.2.1 窗口和事件处理

10.2.2.2 渲染和动画效果

10.2.3 OpenGL图形库

10.2.3.1 设置和初始化OpenGL环境

10.2.3.2 绘制基本图形和3D模型

10.3 图形库的应用领域

10.3.1 游戏开发

10.3.2 数据可视化

10.3.3 图形用户界面设计

第十一章:数据库

11.1 数据库基础

11.1.1 关系型数据库和非关系型数据库

11.1.2 数据库管理系统(DBMS)的概念和作用

11.1.3 SQL语言的基本操作

11.2 关系型数据库

11.2.1 数据表的创建和操作

11.2.2 数据表之间的关系

11.2.3 主键、外键和索引

11.2.4 SQL查询语言和数据过滤

11.3 MySQL数据库

11.3.1 MySQL的特点和应用领域

11.3.2 MySQL的安装和配置

11.3.3 MySQL的基本操作命令

11.3.4 MySQL的数据类型和约束

11.4 数据库连接和操作

11.4.1 数据库驱动程序和连接池

11.4.2 MySQL的增删改查操作

11.4.3 事务管理和并发控制

11.5 数据库设计和优化

11.5.1 数据库设计原则和规范

11.5.2 数据库性能优化技巧

11.5.3 数据库备份和恢复策略

第十二章:C++服务器

12.1 服务器概述

12.1.1 服务器的基本概念和作用

12.1.2 同步和异步服务器的区别

12.1.3 多线程和多进程服务器的比较

12.2 基于TCP的C++服务器

12.2.1 TCP服务器的创建和监听

12.2.2 TCP连接的建立和断开

12.2.3 数据收发和处理

12.2.4 多线程TCP服务器的实现

12.2.5 异步TCP服务器的实现

12.3 基于UDP的C++服务器

12.3.1 UDP服务器的创建和监听

12.3.2 数据收发和处理

12.3.3 多线程UDP服务器的实现

12.3.4 异步UDP服务器的实现

12.4 基于Web的C++服务器

12.4.1 HTTP协议的解析和处理

12.4.2 Web服务器的基本架构

12.4.3 实现简单的Web服务器

12.5 C++服务器的安全性和性能优化

12.5.1 安全性相关的考虑因素

12.5.2 性能优化技巧和策略

第十三章:数据处理和文件操作

13.1 数据文件的读取和写入

13.1.1 文本文件的读写操作

13.1.2 二进制文件的读写操作

13.1.3 CSV文件的读写操作

13.1.4 XML文件的读写操作

13.1.5 Excel文件的读写操作

13.2 JSON解析和生成

13.2.1 JSON的基本语法和数据类型

13.2.2 使用JSON库进行解析和生成

13.2.3 JSON数据的读取和修改

13.3 数据处理和转换

13.3.1 数据过滤和排序

13.3.2 数据格式转换和处理

13.3.3 统计和分析数据

三、高级摸索 ----  终极篇

本章主要讲未来的方向和学习路线

你可能感兴趣的:(C++从基础到抗大旗,c++,学习,开发语言,数据结构,java,笔记)