# C++ 编程手册
> 作者:[Jerakrs](https://jerakrs.github.io/)
>
> 完成日期:无
## 主要内容
基础知识
* 变量
* 表达式 & 语句
* 函数
* 类
* 内存分配
类设计者的工具(面向对象)
* copy control
* 操作符重载
* 面向对象编程
* 模板
高级特性
===
开发工具(gdb、vim、makefile、perf)
开源项目(stl、redis、taskflow、nginx)
[1、语法相关](chapter01.md)
[2、资源管理](chapter02.md)
[3、面向对象](chapter03.md)
[4、模板与泛型编程](chapter04.md)
[5、系统库](chapter05.md)
## 相关文献
**编程规范**
* [google 编程规范](https://zh-google-styleguide.readthedocs.io/en/latest/google-cpp-styleguide/contents/)
**相关文档**
* [cppreference](https://en.cppreference.com/w/)
* [gcc.gnu.org](https://gcc.gnu.org/)
* [opengroup](https://pubs.opengroup.org/onlinepubs/9699919799/functions/contents.html)
**参考书籍**
* [C++ Primer, 5th Edition](https://book.douban.com/subject/24089577/)
* [Effective C++:55 Specific Ways to Improve Your Programs and Designs,3rd Edition](https://book.douban.com/subject/5387403/)
- 目录
- 基础知识
- 1、变量和基础类型
- 1.1、内置类型
- 1.2、变量
- 1.3、复合类型
- 1.4、类型修饰符
- 1.5、类型处理
- 1.6、自定义结构
- 1.7、数组
- 2、表达式和语句
- 2.1、运算符
- 2.2、语句
- 3、函数
- 1、语法相关
- 2、资源管理
- 3、面向对象
- 4、模板与泛型编程
- Problem01:判断类中是否包含函数
- Problem02:解析函数的参数类型
- 5、系统库
- Problem01:多线程维护最大值
- Problem02:介绍一下strcpy、strncpy、memcpy、memmove
- Problem03:介绍一下网络编程
- Problem04:select、poll、epoll的区别
- 未整理
- Problem11:实现在main函数前、后执行的函数
- Problem12:可变参函数的实现
- Problem13:全局变量初始化顺序问题
- Problem14:介绍一下隐式转换
- Problem07:实现一个不能被拷贝的类
- Problem08:实现一个只能通过动态、静态分配的类
- 开源项目
- redis
- 第一部分 数据结构与对象
- redis 底层数据结构
- redis 对象
- taskflow
- 数据结构
- Executor
