首页 > 编程语言 >八个 C++ 开源项目,帮助初学者进阶成长

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

时间:2024-09-20 17:26:47浏览次数:12  
标签:GitHub 进阶 C++ 地址 github 初学者 https com

通过参与或阅读开源项目的源代码,可以帮助你深入理解 C++ 的各种概念和技术。

ThreadPool

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

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

sudoku

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

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

Tinytetris

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

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

MyTinySTL

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

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

C-Plus-Plus

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

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

秋招无望,这些C++项目助你上岸(可以写进简历)

C/C++项目合集来了,需要请自取→C++项目实战视频(视频教程+代码)

calculator

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

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

workflow

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

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

jwEngine

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

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

标签:GitHub,进阶,C++,地址,github,初学者,https,com
From: https://blog.51cto.com/u_16793003/12066771

相关文章

  • RabbitMQ进阶--保证消息的可靠性
    1.使用rabbitmq可能存在的问题在我们使用消息队列时,是否考虑过一个问题,如果在发送消息的时候存在网络波动,会引发哪些问题?无法正确的发送和接收消息重复多次的消费同一条消息举个例子,我们在购物的时候,已经支付完成,但是消息没有正确的被消费,前端发送请求查询支付状态时,肯定......
  • 图论进阶学习笔记(三)(2024.8.12)
    二分图定义如果你能把一个图划分成两个集合,集合内部的点没有边相连接,那么这个图就是一个二分图,如图就是一个二分图:交错路:从一个没有被匹配的点出发,依次走非匹配边,匹配边,非匹配边……最后到达另外一部点当中某个没有被匹配的点的路径。增广路:从一个没有被匹配的点出发,依次走......
  • 图论进阶学习笔记(二)(2024.8.1)
    图的连通性强连通分量割点缩点例题一边双连通分量点双连通分量2-SAT例题二例题三欧拉回路例题四......
  • c++高精度求平方根(保留整数)
    #include<iostream>#include<cstring>usingnamespacestd;constintSIZE=200;structhugeint{ intlen,num[SIZE];};hugeinttimes(hugeinta,hugeintb){ inti,j; hugeintans; memset(ans.num,0,sizeof(ans.num)); for(i=1;i<=......
  • 使用swig映射c++function
    swig可以自动生成从c++到其他语言如Java、Python等转换的中间语言,目前swig已经支持很多c++11的特性了,但是这次项目中发现function特性还没有支持,只能自己生成。从网上找了一份Java的java-HowtouseSWIGtowrapstd::functionobjects?-StackOverflow,我需要的c#的,故需要稍......
  • 线段树进阶应用学习笔记(一)(2024.7.19)(2024.8.22)
    线段树优化建图算法流程复杂度分析例题一#include<bits/stdc++.h>usingnamespacestd;#defineintlonglongconstintN=5e5,M=5e6+9;structEdge{ intv,w,nex;}e[M];inthead[M],ecnt;voidAddEdge(intu,intv,intw){ e[++ecnt]=Edge{v,w,hea......
  • 大模型入门到进阶:什么是Graph RAG?
    自从ChatGPT的出现引爆了人工智能的炒作之后,检索增强生成(RAG)就主导了关于如何让GenAI应用程序变得有用的讨论。这个想法很简单。一旦我们将LLM连接到我们的私人数据,它就会变得特别有用。每个人都可以访问的基础模型与我们特定领域的数据相结合,作为秘密武器,产生......
  • C++ | 多态
     前言本篇博客讲解c++中的继承......
  • 【C++二叉树】105.从前序与中序遍历序列构造二叉树
    105.从前序与中序遍历序列构造二叉树-力扣(LeetCode)根据前序遍历和中序遍历构建二叉树前序遍历访问方式:根-左子树-右子树中序遍历访问方式:左子树-根-右子树思路分析:前序+中序可以构建一颗二叉树:前序遍历可以确定根,中序遍历可以确定左子树的中序区间和右子树的中序区......
  • 兼收并蓄 TypeScript - 进阶: ArrayBuffer
    源码https://github.com/webabcd/TypeScriptDemo作者webabcd兼收并蓄TypeScript-进阶:ArrayBuffer示例如下:advanced\arrayBuffer.ts{/***1、ArrayBuffer-内存之中的一段二进制数据,需要通过视图操作数据*2、TypedArray-视图,用于操作ArrayBuf......