该死!GitHub上这些C++项目真香

在知乎上看到了个问题,说,在用github搜学习资料时,总是一些很大型且成熟的项目,根本看不懂。

做为工作近十年的经验老鸟,github上的资源非常丰富,通过github学习一定要循序渐进。

其实,不光有大型项目,还有很多学习型资源。

这里帮大家就C++方向罗列出了一些热度很高的从入门到小实战项目再到大型项目,供大家学习吧。

学习篇:

一、一个项目入门C++足以:CPlusPlusThings

CPlusPlusThings 是国人开源一个 C++ 学习项目。它系统地将 C++ 学习分为了【基础进阶】、【实战系列】、【C++2.0 新特性】、【设计模式】和【STL 源码剖析】、【并发编程】、【C++ 惯用法】、【学习课程】、【工具】、【拓展】。

作为一个全面系统的 C++ 学习项目,CPlusPlusThings 是优秀的,它合理地安排了 10 Days 的实战部分,在实战中了解语法和函数用法,唯一不足的是,在注释部分有些不尽人意,对部分新手程序员并不是很友好。

github->https://github.com/Light-City/CPlusPlusThings

二、C++实现的算法合集:C-Plus-Plus

C-Plus-Plus 是收录用 C++ 实现的各种算法的集合,并按照 MIT 许可协议进行授权。这些算法涵盖了计算机科学、数学和统计学、数据科学、机器学习、工程等各种主题。除外,你可能会发现针对同一目标的多个实现使用不同的算法策略和优化。

github->https://github.com/TheAlgorithms/C-Plus-Plus

三、进阶指南:CppTemplateTutorial

CppTemplateTutorial 为中文的 C++ Template 的教学指南。与知名书籍 C++ Templates 不同,该系列教程将 C++ Templates 作为一门图灵完备的语言来讲授,以求帮助读者对 Meta-Programming 融会贯通。本项目写作初衷,就是通过 “编程语言” 的视角,介绍一个简单、清晰的 “模板语言”。我会尽可能地将模板的诸多要素连串起来,用一些简单的例子帮助读者学习这门 “语言”,让读者在编写、阅读模板代码的时候,能像 if(exp) { dosomething(); } 一样的信手拈来,让 “模板元编程” 技术成为读者牢固掌握、可举一反三的有用技能。

适合熟悉 C++ 的基本语法、使用过 STL、熟悉一些常用的算法,以及递归等程序设计方法的 C++ 学习者阅读。虽然项目章节文章写的深入浅出,不过唯一的遗憾是尚未完成所有章节内容。

github->https://github.com/wuye9036/CppTemplateTutorial

小试牛刀篇

一、写一个小型STL库:MyTinySTL

github->https://github.com/Alinshans/MyTinySTL

二、小实战—俄罗斯广块:Tinytetris

Tinytetris 是一个用 C++ 编写的终端版俄罗斯方块游戏。它提供了两个版本的源码,分为注释版和库版,注释较多易于理解和学习。

github->https://github.com/taylorconor/tinytetris

我在学习C++的时候,收集了很多资料,包括系列视频和电子书,也正是这些资料让我在毕业的时候,拿到了鹅厂的offer,这里也分享给大家。(无套路,不加密,直接下载 )

C++技术路图、视频、书籍系列资料下载 

三、学习下大佬们的代码,做个计算器:calculator

微软开源的 Windows 系统预装的计算器工具。该工具提供标准、科学、程序员计算器的功能,以及各种度量单位和货币之间的转换功能。快来看看微软工程师编写的代码吧!学习大厂的编码规范、项目结构之类的,提高阅读源码的能力。英文的项目且没有讲解部分,需要通过阅读源码学习,难度较高。

github->https://github.com/microsoft/calculator

大型项目篇:

一、C/C++高频量化投资交易平台:EliteQuant Cpp

基于C/C++ 11的多线程并发式高频交易平台。它遵循现代设计模式,例如事件驱动,服务器/客户端架构,依赖注入和松散耦合的强大稳定的分布式系统。它可以独立运行和直接使用。同时,它也作为其他EliteQuant项目的服务器端。

github->https://gitee.com/EliteQuant/EliteQuant_Cpp

二、开源 盘云存储 Seafile

Seafile是一个开源、专业、可靠的云存储平台;解决文件集中存储、共享和跨平台访问等问题

github->https://github.com/haiwen/seafile

三、基于 C++/Python 的开源量化交易研究框架 Hikyuu

Hikyuu Quant Framework是一款基于C++/Python的开源量化交易研究框架,用于策略分析及回测。其核心思想基于当前成熟的系统化交易方法,将整个系统化交易抽象为由市场环境判断策略、系统有效条件、信 指示器、止损/止盈策略、资金管理策略、盈利目标策略、移滑价差算法七大组件

你可以分别构建这些组件的策略资产库,在实际研究中对它们自由组合来观察系统的有效性、稳定性以及单一种类策略的效果。

github->https://github.com/fasiondog/hikyuu

四、开源自动驾驶平台 ApolloAuto

Apollo (阿波罗)是一个开放的、完整的、安全的平台,将帮助汽车行业及自动驾驶领域的合作伙伴结合车辆和硬件系统,快速搭建一套属于自己的自动驾驶系统。

Apollo 是百度重点打造的 AI 开放平台之一,计划主要包含 4 个技术模块:定位/感知模块、车辆规划与运营(AI+大数据,精准控制车辆,适合不同路况)、软件运营框架(支持英特尔、英伟达等多种芯片)。

github->:https://github.com/fasiondog/hikyuu

优秀的资源还有很多,精力有限,没办法一一列出。不过这些工程已经很够学的了。把这些真的能学完学会的话,找份工作不过分吧。

你觉得还有哪个工程比较优秀的,可以留言给出来,供大家一起参考,互帮互助,一起进步,奥利给!

我是启舰,不要让未来的你讨厌现在的自己,一起加油。

我们下篇文章见。

文章知识点与官方知识档案匹配,可进一步学习相关知识算法技能树首页概览34466 人正在系统学习中

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年7月22日
下一篇 2021年7月22日

相关推荐