八个 C++ 开源项目,帮助初学者进阶成长

开发 开源
参与或阅读开源项目的源代码,可以获得丰富的实践机会。下面,让我们一起看看以下八个优秀的 C++ 开源项目。

通过参与或阅读开源项目的源代码,你可以获得丰富的实践机会。实际的项目代码比简单的教程更具挑战性,可以帮助你深入理解 C++ 的各种概念和技术。

1.ThreadPool

一个简单的 C++11 线程池实现,只有一个头文件,代码加起来不到 100 行。

GitHub 地址:https://github.com/progschj/ThreadPool

2.sudoku

C++ 实现的命令行数独游戏。600 余行代码,初学者也可以轻松学习。

GitHub 地址:https://github.com/mayerui/sudoku

3.Tinytetris

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

GitHub 地址:https://github.com/taylorconor/tinytetris

4.MyTinySTL

当你学习完 C++ 的“书本”知识后,是不是有些手痒了呢?MyTinySTL 这个注释详细、实践夯实基础的项目便是你 C++ 学习之旅的下一站。作为新手练习用途,MyTinySTL 的作者 Alinshans 用 C++11 重新复写了一个小型 STL(容器库+算法库)。代码结构清晰规范、包含中文文档与注释,并且自带一个简单的测试框架,适合 C++ 新手来实践一番。

GitHub 地址:https://github.com/Alinshans/MyTinySTL

5.C-Plus-Plus

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

GitHub 地址:https://github.com/TheAlgorithms/C-Plus-Plus

6.calculator

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

GitHub 地址:https://github.com/microsoft/calculator

7.workflow

workflow 是搜狗公司的服务器引擎,搜狗几乎所有的后端 C++ 服务和其他几十家公司都在使用这个引擎,每日处理超百亿请求。不单网络、磁盘 IO、CPU 计算等,workflow 着眼于所有异步资源都尽可能全部调起。使用 workflow,你可以轻松搭建后端服务器(如 HTTP Server),可以轻松高效地发起客户端请求(支持 HTTP、Redis、Mysql、Websocket 和 Kafka 协议)。

GitHub 地址:https://github.com/sogou/workflow

8.jwEngine

一个跨平台、轻量级、支持 C++ 和 Lua 的 Web 框架。支持 TCP、KCP、WebSocket、HTTP 等协议,底层采用 libuv 异步 IO 提高并发,避免多线程上下文切换开销和破坏代码美感,网络部分和逻辑部分使用一个主事件循环驱动。支持 Lua 提高开发效率,适用于小型游戏开发。

GitHub 地址:https://github.com/jwcpp/jwEngine

责任编辑:赵宁宁 来源: AI让生活更美好
相关推荐

2022-09-22 10:22:36

C++编程语言代码

2011-04-08 15:07:40

C++

2011-06-21 10:44:31

const

2010-01-14 17:18:17

C++语言

2011-07-12 13:01:00

CC++

2010-01-15 19:05:42

学习C++

2009-02-18 11:10:40

c++忠告方法

2014-04-01 10:20:00

开源Rails

2011-09-16 09:38:19

Emacs

2022-04-24 15:21:01

MarkdownHTML

2011-04-12 10:13:24

2021-08-31 07:54:25

项目开源教程

2011-05-07 15:26:09

复印机复合机

2009-09-11 10:40:35

CCNA认证指南四多法

2020-09-08 19:03:41

Java代码初学者

2010-06-13 11:13:38

UML初学者指南

2022-07-22 13:14:57

TypeScript指南

2009-08-30 15:04:56

2011-05-18 11:01:39

Oracle

2009-11-18 09:30:43

点赞
收藏

51CTO技术栈公众号