盘点适合入门学习的CC++开源项目

    技术2022-07-10  158

    文章目录

    基础Google开源代码规范CPlusPlusThings现代 C++:modern-cpp-tutorialCppTemplateTutorial 算法与设计模式C-Plus-PlusCdesign-patterns-cpp linux网络与环境编程libhv(新手不友好)netdata(新手不友好)json-tutorialWebServerwebbenchtmux 其他任天堂红白机模拟器 其他资源GitHub-Chinese-Top-Charts知乎问答 C++书单我看过的

    基础

    Google开源代码规范

    https://github.com/zh-google-styleguide/zh-google-styleguide 评价:还没有学

    CPlusPlusThings

    项目名称: CPlusPlusThings

    项目简介: CPlusPlusThings 是国人开源一个 C++ 学习项目。它系统地将 C++ 学习分为了【基础进阶】、【实战系列】、【C++2.0 新特性】、【设计模式】和【STL 源码剖析】、【并发编程】、【C++ 惯用法】、【学习课程】、【工具】、【拓展】。作为一个全面系统的 C++ 学习项目,CPlusPlusThings 是优秀的,它合理地安排了 10 Days 的实战部分,在实战中了解语法和函数用法

    对于我们的作用: 可以帮助我们系统地学习 C++ 相关知识

    项目源码地址: https://github.com/Light-City/CPlusPlusThings 评级: 8.9 K⭐ 评价:一般(有空可能会看)

    现代 C++:modern-cpp-tutorial

    项目名称:modern-cpp-tutorial 是现代 C++ 教程,它的目的是提供关于现代 C++(2020 年前)的相关特性的全面介绍。除了介绍了代码之外,它还尽可能简单地介绍了其技术需求的历史背景,这对理解为什么会出现这些特性提供了很大的帮助。

    项目源码地址:https://github.com/changkun/modern-cpp-tutorial

    评级:11.8 K⭐ 评价:推荐(待学)

    CppTemplateTutorial

    评级:4.4k 评价:主要内容C++模板元编程,实际编程中用得很少,闲的没事干可以学学

    算法与设计模式

    因为我不是专业搞算法的,这个只能放最后去学了,暂时记下来链接

    C-Plus-Plus

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

    项目地址: https://github.com/TheAlgorithms/C-Plus-Plus 评级: 9.7K ⭐ 评价:代码风格不错(待学)

    C

    项目名称: C

    项目简介: 是的,你没有看错,这个项目的名字就是单个字母C。C是一个宝藏项目,可以说是学习数据结构和刷算法题的利器,因为里面包含了几乎各种基础算法、数据结构、以及LeetCode算法题的C语言实现。具体包括:

    客户端/服务器问题 统计方法问题 进制转换问题 各种数据结构:数组、链表、字典、二叉树、堆、栈、队列、哈希、图等等 搜索/查找问题 排序问题 LeetCode习题 其他杂项问题 注意,下图中只是截取了一部分数据结构和算法题的具体实现: 对于我们的作用: 可以帮助我们更好的学习数据结构、以及刷算法题

    项目源码地址: https://github.com/TheAlgorithms/C

    design-patterns-cpp

    项目名称: design-patterns-cpp

    项目简介: 从项目名称就能够猜出来,这是一个C++语言版的设计模式实现,里面包含了常见设计模式的C++ 语言实现。

    对于我们的作用: 帮助我们理解和实践设计模式相关知识

    项目源码地址: https://github.com/JakubVojvoda/design-patterns-cpp

    linux网络与环境编程

    libhv(新手不友好)

    项目名称: libhv

    项目简介:libhv类似于libevent、libev和libuv,是一个跨平台的具有非阻塞I/O和计时器的异步事件驱动库,但libhv提供了更加简单易用的API接口并支持更加丰富的网络协议,基于它可以快速驱动HTTP服务端和客户端,从而提供高性能的http服务。

    主要技术点或特性: 跨平台、事件循环、非阻塞I/O、支持IPv6、使用OpenSSL、支持多种网络协议

    对于我们的作用: 可以帮助我们理解和实践操作系统的相关知识

    项目源码地址:https://github.com/ithewei/libhv 评级:1.7K ⭐ 评价:这个项目我看了, 作者代码风格不好,而且实例非常少,新手不建议入

    netdata(新手不友好)

    项目名称: netdata

    项目简介: netdata是一款开源免费的炫酷Linux系统实时性能和运行状况的系统监控工具。netdata通过使用可交互的仪表盘形式,来提供灵活易用的系统监控。除了支持常见系统平台的安装之外,它还可以非常方便地安装于Docker容器和集群之中并提供监控服务。

    对于我们的作用: 既是一个高效的工具,研究其源码也可以帮助我们学习和理解Linux环境实战编程。

    项目源码地址: https://github.com/netdata/netdata

    评价:代码写的太乱太乱了,现在不看,新手不要乱入

    json-tutorial

    评级:4.2K ⭐

    WebServer

    项目地址: https://github.com/linyacool/WebServer 评级:2.6K ⭐

    webbench

    Webbench是Radim Kolar在1997年写的一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。非常适合用来学习网络编程,代码量也不大,适合初学者:

    项目地址:https://github.com/EZLippi/WebBench 评级:1.8K ⭐ 评价:还没有看

    tmux

    项目名称::tmux

    项目简介: tmux一个开源免费的的终端复用软件。它的命令行界面非常炫酷易用,支持自由分割窗口,并且可以自由移动和调整,灵活且强大。一个非常强大的使用场景是:当远程连接到服务器使用时,只需要启动tmux,利用它就可以方便地进行后续操作,而无需打开多个ssh控制台窗口。

    对于我们的作用: 既是一个高效的工具,研究源码也可以帮助我们学习和理解Linux环境实战编程。

    项目源码地址: https://github.com/tmux/tmux

    其他

    任天堂红白机模拟器

    https://github.com/amhndu/SimpleNES

    其他资源

    https://isocpp.org/get-started http://www.cppstdlib.com/

    GitHub-Chinese-Top-Charts

    https://github.com/kon9chunkit/GitHub-Chinese-Top-Charts

    知乎问答

    用一年时间如何能掌握 C++ ?寒假 45 天如何自学入门C++?校招C++大概学习到什么程度如何高效地学习C++?

    C++书单

    Effective C++More Effective C++Effective STLSTL源码剖析深度探索C++对象模型C++ PrimerLinux高性能服务器编程Linux多线程服务器端编程(选看)UNIX 环境高级编程UNIX网络编程卷1(必看,五星推荐)

    我看过的

    C++语言的设计与演化 : 这本书实在实在实在是看不下去,不知道是不是翻译问题

    我的技术路线:学过 C、C++、Java、Rust、Go、Python,看过一点点前端,开发过桌面软件。 决心以后专注 后台开发, 语言还没有确定选择哪个

    Processed: 0.017, SQL: 9