序言
“成为编程大牛要一门好语言加一点点天分。一门好语言,一点点天分,再加一份坚持。要是天分少,光靠坚持也行。”
下面是根据现有资源整理的一个C++学习路径。
通过使用 C++ 语言实现 Web 服务器,Markdown 解析器,内存池以及 Docker 容器管理工具等,学习并实践 C++ 编程基础,C++ 11/14 标准,C++ 图像处理及增强现实技术。完成本路径所有教程,将能够使用 C++ 独立实现复杂的应用程序。
【文章福利】:小编推荐自己的C语言/C++交流群:967051845!整理了一些个人觉得比较好的学习书籍、视频资料共享在群文件里面,有需要的可以自行添加哦!~
基础知识
- Linux 基础入门(新版)2. Vim编辑器3. Git 实战教程4. GDB 简明教程
- 玩转Makefile
以上内容正确食用姿势:区别于目前所有主流教程,这类教程的核心就是动手跟着文档说明,在线的Linux系统中一步一步地敲出基础知识,各种有趣项目;走出只看书、看视频却不动手的禁区,你会比别人学的更快的,放心。
入门项目
1. C++ 实现太阳系行星系统
使用 C++实现 OpenGL GLUT 实现一个简单的太阳系行星系统,将涉及一些三维图形技术的数学基础、OpenGL 里的三维坐标系、OpenGL 里的光照模型、GLUT 的键盘事件处理。
2. C++实现运动目标的追踪
利用 OpenCV 来实现对视频中动态物体的追踪。在学习这个时,需要先完成 C++实现太阳系行星运行系统的相关实验,才能进行之后的学习。
3. C++ 实现银行排队服务模拟
使用 C++对银行排队服务进行模拟,以事件驱动为核心思想,手动实现模板链式队列、随机数产生器等内容,进而学习概率编程等知识。
4. 1小时入门增强现实技术
基于OpenCV实现一个将3D模型显示在现实中的小例子,学习基于Marker的AR技术,既简单又有趣。
5. C++ 基于 OpenCV 实现实时监控和运动检测记录
使用 C++ 和 OpenCV 提供的库函数,实现摄像头的实时监控功能,并通过监控画面的运动检测选择是否记录视频。监控人员可选择输出图像的模式以更容易的分辨监控中的异常情况。
6. 使用OpenCV&&C++进行模板匹配
使用OpenCV&&C++进行模板匹配,在一张大图中去查找并圈出目标小图。将学习到关于OpenCV的一些函数用法和模板匹配的完整流程。
7. 使用OpenCV进行图片平滑处理打造模糊效果
利用OpenCV中的平滑处理和线性滤波器对图片进行处理,打造模糊效果。归一化滤波器,高斯滤波器,中值滤波器,双边滤波器这四种滤波器的相关知识,并且会对“核”和卷积进行相应的了解。
8. C++ 实现即时通信软件
使用C++实现一个具备服务端和客户端的即时通信聊天室,涉及网络编程,C++面向对象程序设计等知识。
进阶项目
- C++11/14
- ffmpeg 结合 SDL 编写播放器
- 使用 C++ 及大量 C++11新特性设计并实现一个线程池库。
- C++ 实现高性能内存池
- C++ 开发 Web 服务框架
- C++ 打造 Markdown 解析器
- C++ 使用 Crypto++ 库实现常用的加密算法
- C++ 实现智能指针
高级项目
- C++操作 redis 实现异步订阅和发布
- C++ 实现简易 Docker 容器
- C++ 实现内存泄露检查器
- C++ 实现高性能 RTTI 库
最后
有句话是这样说的:一件事,1000人想去做,100人开始做了,最终,只有1个人坚持到了最后。话虽没有绝对,但想想看,今天确实是你生命中最年轻的一天啦,所以,想要做的事,勇敢捡起来做吧!祝你们学习顺利。
文章福利
小编C工作也有五年了,推荐一个C/C++学习交流群:967051845!里面整理了一些个人觉得比较好的学习书籍、视频资料共享在群文件里面,有需要的可以自行添加哦!~
学习路线图:
学习路线
网友评论