CPlusPlusThings
No description available
Install / Use
/learn @Robin329/CPlusPlusThingsREADME
_____ ______ _ _ _ ___________ _ _ _ _____
/ __ \| ___ \ | | | | / ___| ___ \ | | | | / ___|
| / \/| |_/ / | | | | \ `--.| |_/ / | | | | \ `--.
| | | __/| | | | | |`--. \ __/| | | | | |`--. \
| \__/\| | | |___| |_| /\__/ / | | |___| |_| /\__/ /
\____/\_| \_____/\___/\____/\_| \_____/\___/\____/
- C++
C++
项目运行
- 代码环境
Macosx : Darwin Kernel Version 21.3.0;
root : xnu-8019.80.24~20/RELEASE_ARM64_T6000 arm64
- 编辑工具
CLion/VScode
- 编译器
gcc/g++
0. 项目概要
这是一个适合初学者从<u>入门到进阶</u>的仓库,解决了<u>面试者与学习者</u>想要<u>深入 C++</u>及如何<u>入坑 C++</u>的问题。除此之外,本仓库拓展了更加深入的源码分析,多线程并发等的知识,是一个比较全面的 C++ 学习从入门到进阶提升的仓库。
1. 基础进阶
- const
- static
- this
- inline
- sizeof
- 函数指针那些事
- 纯虚函数和抽象类那些事
- vptr_vtable
- virtual
- volatile
- assert
- 位域那些事
- extern
- struct
- struct 与 class
- union
- c 实现 c++ 多态那些事
- explicit
- friend
- using
- ::
- enum
- decltype
- 引用与指针那些事
- 宏那些事
2. 实战系列
2.1 10日狂练
- [x] day1
基本c++语法
- [x] day2
递归、结构体、枚举、静态变量等
- [x] day3
函数
- [x] day4
函数深入
- [x] day5
继承多态
- [x] day6
虚函数、抽象类
- [x] day7
运算符重载
- [x] day8
模板与STL
- [x] day9
异常
- [x] day10
文件与流
2.2 重点实战练习
├── 中括号重载.cpp
├── 时钟++运算符重载.cpp
├── 运算符重载之强制转换.cpp
└── 重载圆括号的时钟.cpp
├── 函数模板.cpp
├── 动态数组.cpp
├── 字典插入与查找.cpp
├── 异常捕获.cpp
├── 类模板之栈.cpp
├── 类模板特化之数组.cpp
├── 继承与封装.cpp
├── 读写文件综合题.cpp
├── 输入输出运算符重载.cpp
├── 输入输出重载.cpp
├── 输出格式.cpp
2.3 实践练习
2.3.1 回调功能实践
2.3.2 简单的定时器功能
2.3.3 c++原理与实践练习题
2.3.4 epoll实践
2.3.5 looper/handler实践
2.3.6 共享内存实践
2.3.7 socket实践
2.3.8 面试题实践
2.3.9 openCV练习
2.3.10 Primer C++ 5
2.3.11 Primer C++ 6
2.3.12 一些实用的小例子
3. C++2.0 新特性
3.0 概况
C++2.0 是一个简称,意为「现代 C++」,包括 C++11/14/17/20。
3.1 C++11 新特性
-
Spaces in Template Expressions
vector<list<int> > //ok in each C++ version vector<list<int>> // before c++ 11 error error: ‘>>’ should be ‘> >’ within a nested template argument list,c++11后可以正常通过 -
for(decl:col) { statement } -
如果你自行定义了一个 ctor,那么编译器就不会给你一个 default ctor 如果强制加上 =default,就可以重新获得并使用 default ctor.
-
Alias(化名)Template(template typedef)
-
容器-结构与分类
- (1) 序列式容器包括:
array(C++2.0 新引入),vector,deque,list,forward_list(C++2.0 新引入) - (2) 关联式容器包括:
set/multiset,map/multimap - (3) 无序容器(C++2.0 新引入,更换原先
hash_xxx为unordered_xxx)包括:unordered_map/unordered_multimap,unordered_set/unordered_multiset
- (1) 序列式容器包括:
-
学习资料:https://www.bilibili.com/video/av51863195?from=search&seid=3610634846288253061
3.2 C++14/17/20
待更新...
4. 设计模式
5. STL 源码剖析
- array
- deque
- queue and stack
- list
- vector
- typename
- traits
- iterator
- 谈谈 STL 设计之 EBO 优化
- [rb_tree](src_analysis/stl/stl_src/Doc/
