多年以后,你已经是一名技术总监,有一个美丽的妻子,两个孩子;你已经拥有了现在的你想都不敢想的一切;那时,你也一定会忘记,今天这篇教程,如同一颗石子,铺就过你前进的路。

下面是我们的老师根据现有资源整理的一个C++学习路径。通过使用 C++ 语言实现 Web 服务器,Markdown 解析器,内存池以及 Docker 容器管理工具等,学习并实践 C++ 编程基础,C++ 11/14 标准,C++ 图像处理及增强现实技术。完成本路径所有教程,将能够使用 C++ 独立实现复杂的应用程序。

“成为编程大牛要一门好语言加一点点天分。一门好语言,一点点天分,再加一份坚持。要是天分少,光靠坚持也行。”

基础知识

  1. Linux 基础入门(新版)

2. Vim编辑器

3. Git 实战教程

4. GDB 简明教程

5. 跟我一起来玩转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++面向对象程序设计等知识。

9. C++实现课程管理系统

使用 C++ 实现一个课程管理系统,在这个过程中会介绍C++11的很多特性,同时可以熟悉Linux下的C++语言编译方法及简单的Makefile编写。

中场休息,笑一笑吧

进阶项目

1. C++11/14 高速上手教程

如果你还在使用传统 C++,打着 C++ 的名号写出 C 语言代码,请停下来。本教程将带领你快速上手 C++11/14 的重要特性。

2. ffmpeg 结合 SDL 编写播放器

学习 C++ 利用 ffmpeg 解码视频数据,将解码后的视频数据播放出来。学习 ffmpeg 和 SDL 基本的用法。

3. 100 行 C++ 代码实现线程池

使用 C++ 及大量 C++11新特性设计并实现一个线程池库。

4. C++ 实现高性能内存池

获得内存池所分配的内存速度高于从堆中获得分配的内存的速度,一个长期稳定运行的服务在追求极致的过程中,实现内存池是必不可少的。和标准库中的默认分配器一样,内存池本质上也是分配器

5. C++ 开发 Web 服务框架

综合使用 C++11 及 Boost 中的 Asio 实现 HTTP 和 HTTPS 的服务器框架。

6. C++ 打造 Markdown 解析器

使用 C++ 实现 Markdown 解析器,并将解析的内容生成为 HTML。

7. C++ 使用 Crypto++ 库实现常用的加密算法

利用 Cryto++库 对字符串进行 AES 加密和解密,RSA 加密和解密,生成 MD5 值。其中主要用到了 Crypto++ 库,这是开源的C++数据加密算法库,支持如下算法:RSA、MD5、DES、AES、SHA-256等等。

8. C++ 编写 json 生成器

介绍 json 和一些常见的 json 库,并用 C++ 编写一个 json 生成器,生成 json 数据,并学习编写测试用例。

9. C++ 实现基数树 radix tree

Radix树 , 这是一种基于二进制表示的键值的查找树,尤其适合处理非常长的、可变长度的键值,Patricia 的基本思想是构建一个二叉树。

10. C++ 实现智能指针

使用C++语言实现智能指针的过程,来了解C++基本程序设计的方法,包括类的定义与使用,运算符的重载,模板类的使用方法,以及引用计数技术。

高级项目

1. C++操作 redis 实现异步订阅和发布

操作 redis 实现异步订阅和发布,其中将介绍 redis 基础知识,在linux中安装和使用 redis ,常用的 hiredis API,并实现一个例程。

2. C++ 实现简易 Docker 容器

Docker 的本质是使用 LXC 实现类似虚拟机的功能,进而节省的硬件资源提供给用户更多的计算资源。本项目将 C++ 与 Linux 的 Namespace 及 Control Group 技术相结合,实现一个简易 Docker 容器。

3. C++ 实现内存泄露检查器

内存泄漏一直是 C++ 中比较令人头大的问题, 即便是很有经验的 C++程序员有时候也难免因为疏忽而写出导致内存泄漏的代码。除了基本的申请过的内存未释放外,还存在诸如异常分支导致的内存泄漏等等。本项目将使用 C++ 实现一个内存泄漏检查器。

4. C++ 实现高性能 RTTI 库

RTTI 是运行时类型识别的英文缩写,C++ 本身提供了运行时类型检查的运算符 dynamic_cast 和 typeid,然而 dynamic_cast 的效率其实并不理想,需要牺牲一定性能。本项目将手动实现一个高性能 RTTI 库。

有句话是这样说的:一件事,1000人想去做,100人开始做了,最终,只有1个人坚持到了最后。话虽没有绝对,但想想看,今天确实是你生命中最年轻的一天啦,所以,想要做的事,勇敢捡起来做吧!祝你学习顺利。

其他教程推荐:
第一弹:超全Python学习资源整理(入门系列)
第二弹:超全Python学习资源整理(进阶系列)
40个大数据学习资源
PHP学习资源整理:入门到进阶全系列
8个程序员专用软件/网站,个个是神器,第一个最惊喜......
Java进阶之设计模式
Scala 开发教程
Hadoop部署及管理
RabbitMQ 消息队列
Redis基础教程
Shell脚本实现打字游戏
Python3 实现色情图片识别
Python实现3D建模工具

转载于:https://www.cnblogs.com/shiyanlou/p/10319926.html

一份C++学习资源,咬牙切齿地好用呀相关推荐

  1. GitHub一份深度学习资源,包括论文、数据集、课程、图书、博客、教程、框架

    整体来说,这份资源可以理解为是深度学习领域的hao123,一共将深度学习各方面的资源分成了7大类.具体是: 论文 论文资源版块,一共分成3个类别,分别是模型.核心和应用. 在每个类别之下,又进行了两次 ...

  2. 一份C++学习资源整理,咬牙切齿地好用。

    多年以后,你已经是一名技术总监,有一个美丽的妻子,两个孩子:你已经拥有了现在的你想都不敢想的一切:那时,你也一定会忘记,今天这篇教程,如同一颗石子,铺就过你前进的路. 下面是我们的老师根据现有资源整理 ...

  3. 深度学习资源一网打尽!论文、数据集、框架、课程、图书等应有尽有

    乾明 发自 凹非寺 量子位 出品 | 公众号 QbitAI 最近,GitHub上出现一份深度学习资源,涵盖深度学习的各个方面,包括论文.数据集.课程.图书.博客.教程.框架等. 资源的贡献者说,与其他 ...

  4. 独家 | 一份数据工程师必备的学习资源,干货满满(附链接)

    作者:PRANAV DAR 翻译:张玲 校对:车前子 本文约6500字,建议阅读15分钟. 本文首先详细介绍了数据工程的职责.与数据科学家之间的差别以及其不同的工作角色,然后重点列出了很多与核心技能相 ...

  5. 30+博士、100+硕士整理的超全深度强化学习资源清单

    作者 | Deep-RL 来源 | 深度强化学习实验室(ID:Deep-RL) 今天为大家推荐一个开源.开发的 Github 好项目<A Guide for Deep Reinforcement ...

  6. 算法实现没思路?最全Python算法实现大礼包!(附学习资源)

    整理 | Rachel 责编 | Jane 出品 | Python大本营(ID:pythonnews) [导语]数据结构与算法是所有人都要学习的基础课程,自己写算法的过程可以帮助我们更好地理解算法思路 ...

  7. 开源项目哪家强?Github年终各大排行榜超级盘点(内附开源项目学习资源)

    整理 | Jane 出品 | AI科技大本营 [导语]提到开源项目,2018 年注定是不平凡的一年.据 Octoverse 报告数据,仅在 2018 年,Github 上的新用户就比过去六年的用户总数 ...

  8. 收藏此文,今年你需要的学习资源绝对够了!

    作者 | Robbie Allen 编辑 | Jane 出品 | AI科技大本营 今天,AI科技大本营为大家准备了目前看到的最好的一份学习资源.收集这些资源的作者 ,Robbie Allen,Infi ...

  9. 资源 | 一文读懂深度学习(附学习资源)

    本文授权转自THU数据派(ID:datapi) 翻译 | 程思衍 校对 | 冯羽 本文长度为2500字,建议阅读6分钟 Medium上获得超过一万五千赞的深度学习入门指南,结合图文为你缕清深度学习中的 ...

最新文章

  1. c语言的编译过程,程序编译过程
  2. centos 7.6安装java_Docker安装zabbix5.0LTS教程和优化
  3. PL/SQL中查询Oracle大数(17位以上)时显示科学计数法的解决方法
  4. 【PM模块】技术对象管理
  5. Git之多个用户ID适配
  6. 解决安装pytorch慢的方法(pip安装)
  7. 使用ASP.NET AJAX异步调用Web Service和页面中的类方法(2):处理异步调用中的异常...
  8. 背包(二维数组版和一维数组版)
  9. IE浏览器--internet选项--连接中的设置是灰色
  10. 从Python调用C / C ++?
  11. 在fmri研究中,cca的应用历史
  12. (宏)Word修改段落行距为固定值24磅
  13. 测试驱动javascript开发 -- 3.测试驱动开发过程(上)
  14. IntelliJ IDEA 的项目配置和Web部署,终于搞懂了!
  15. 设计素材网址集合(比较全)
  16. 2012新年寄语——感谢有您
  17. 激励的最佳状态,是让员工在最需要激励的时候,获得最大的心理满足
  18. ASP.NET Web程序设计 第三章 高级控件
  19. 重温Scrum精髓 - Scrum的核心到底是什么
  20. 卢新宁:在怀疑的时代依然需要信仰

热门文章

  1. 2. Hello,DragonOS
  2. 字体靠右代码_HTML文字怎么样右对齐
  3. 15.Java-正则表达式、Pattern和Matcher类、Math类、Random类、System类、BigDecimal类、BigInteger类
  4. 清宿便方法:要叫人不死、 肠中须无屎
  5. 如何使您的咖啡壶自动化
  6. 华为抢占别人商标鸿蒙,华为鸿蒙商标被驳回?多年努力为他人做嫁衣,只能向现实低头吗?...
  7. 程序员,一份工作坚持多久跳槽最合适?
  8. 海外开发者推荐:10个顶级2D游戏资源站
  9. springboot配置类简要
  10. 【Java设计模式】原型模式