Robin329 / CPlusPlusThings

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

 _____ ______ _     _   _ ___________ _     _   _ _____
/  __ \| ___ \ |   | | | /  ___| ___ \ |   | | | /  ___|
| /  \/| |_/ / |   | | | \ `--.| |_/ / |   | | | \ `--.
| |    |  __/| |   | | | |`--. \  __/| |   | | | |`--. \
| \__/\| |   | |___| |_| /\__/ / |   | |___| |_| /\__/ /
 \____/\_|   \_____/\___/\____/\_|   \_____/\___/\____/

Build Status Version Contributors Issues PRs Welcome Gitpod ready-to-code

C++

项目运行

  • 代码环境

Macosx : Darwin Kernel Version 21.3.0;

root : xnu-8019.80.24~20/RELEASE_ARM64_T6000 arm64

  • 编辑工具

CLion/VScode

  • 编译器

gcc/g++


0. 项目概要

这是一个适合初学者从入门到进阶的仓库,解决了面试者与学习者想要深入 C++及如何入坑 C++的问题。除此之外,本仓库拓展了更加深入的源码分析,多线程并发等的知识,是一个比较全面的 C++ 学习从入门到进阶提升的仓库。


1. 基础进阶


2. 实战系列

2.1 10日狂练

基本c++语法

递归、结构体、枚举、静态变量等

函数

函数深入

继承多态

虚函数、抽象类

运算符重载

模板与STL

异常

文件与流

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 新特性

3.2 C++14/17/20

待更新...


4. 设计模式


5. STL 源码剖析


6. 并发编程

6.1 C++ Concurrency in Action

学习资料:https://downdemo.gitbook.io/cpp-concurrency-in-action-2ed/

6.2 多线程与多进程

6.2.1 Threading In C++

学习自: https://www.youtube.com/watch?v=eZ8yKZo-PGw&list=PLk6CEY9XxSIAeK-EAh3hB4fgNvYkYmghp&index=4

6.2.2 多进程实践
6.2.3 多线程实践
6.2.4 多线程竞争
6.2.5 多线程在C++中的应用

7. C++ 惯用法

你最喜欢的 c++ 编程风格惯用法是什么?

8. 学习课程

8.1 极客时间《现代 C++ 实战 30 讲》


9. 工具篇

9.1 容器快捷输出工具

对吴老师的代码进行了修改,点击此处直通代码

输入:

map<int, int> mp{
            {1, 1},
            {2, 4},
            {3, 9}};
    cout << mp << endl;

输出结果显示:

{ 1 => 1, 2 => 4, 3 => 9 }

9.2 像 Python 一样简单输出(Jupyter Notebook)

9.3 观察编译过程变化

9.4 C++ 的 Debug 工具 dbg-macro

9.5 在 Linux 上的 Debug 工具 rr - 拥有回到过去的能力


10. lib介绍

10.1 ini解析

10.2 xml解析

10.3 ltp linux test工具

10.4 json生成和解析

10.5 enum转换


11. 拓展部分

11.1 一些问题

11.2 clangd配置

cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON .

About


Languages

Language:C++ 86.8%Language:C 10.6%Language:Makefile 1.4%Language:CMake 0.9%Language:Shell 0.2%Language:Python 0.0%Language:Lua 0.0%Language:CSS 0.0%Language:HTML 0.0%Language:Meson 0.0%Language:Dockerfile 0.0%