前言
分享几款我收藏的适合初学者的c/c++方面的开源项目,比如相关的基础知识、数据结构、算法、设计模式,还有涉及到工具和具体实践项目的。
项目
1.C
没错,就单单一个C字,相当的简介明了。该存储库是用 C 实现的各种算法的开源实现的集合,并在GPLv3 许可下获得许可。这些算法涵盖了计算机科学、数学和统计学、数据科学、机器学习、工程等各种主题。实现及其相关文档旨在为教育工作者和学生提供学习资源。因此,人们可能会发现针对同一目标但使用不同算法策略和优化的不止一种实现。
2.libhv
提供具有非阻塞 IO 和计时器的事件循环,但更简单的 api 和更丰富的协议。有点类似于libeventlibevlibuv,但是基于libhv可以快速驱动Web服务端和客户端。
3.CPlusPlusThings
这个项目是一个适合C++初学者的学习型仓库,其中包括基础和进阶教程、源码解析、工具推荐、实战练习等等。
4.design-patterns-cpp
软件设计模式是针对在面向对象设计环境中反复出现的问题的通用可重用解决方案。它不是一个可以直接转化为源代码的完成设计,而是如何解决问题的模板。我们可以按目的将它们分类为创建(抽象实例化过程)、结构(类和对象如何组合以形成更大的结构)和行为模式(对象之间的职责分配)。
5.tmux
tmux 是一个终端多路复用器:它可以在一个屏幕上创建、访问和控制多个终端。tmux 可能会从屏幕上分离并继续在后台运行,然后再重新连接。
6.netdata
Netdata 的分布式实时监控代理以零配置从系统、硬件、容器和应用程序收集数千个指标。它在您所有的物理/虚拟服务器、容器、云部署和边缘/物联网设备上永久运行,并且可以完全安全地安装在您的系统中,无需任何准备。