在知乎上看到了个问题,说,在用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
当你学习完 C++ 的“书本”知识后,是不是有些手痒了呢?MyTinySTL 这个注释详细、实践夯实基础的项目便是你 C++ 学习之旅的下一站。作为新手练习用途,MyTinySTL 的作者 Alinshans 用 C++11 重新复写了一个小型 STL(容器库+算法库)。代码结构清晰规范、包含中文文档与注释,并且自带一个简单的测试框架,适合 C++ 新手来实践一番。
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是一个开源、专业、可靠的云存储平台;解决文件集中存储、共享和跨平台访问等问题
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
优秀的资源还有很多,精力有限,没办法一一列出。不过这些工程已经很够学的了。把这些真的能学完学会的话,找份工作不过分吧。
你觉得还有哪个工程比较优秀的,可以留言给出来,供大家一起参考,互帮互助,一起进步,奥利给!
我是启舰,不要让未来的你讨厌现在的自己,一起加油。文章来源:https://www.toymoban.com/news/detail-413696.html
我们下篇文章见。文章来源地址https://www.toymoban.com/news/detail-413696.html
到了这里,关于该死!GitHub上这些C++项目真香的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!