初学 C++ 语法时,最好的项目就是刷算法题目,因为每道题目本质上就是在解决一个小问题。 C++ 是个相对底层、注重基础的编程语言,很多 C++ 的练手项目都是 “手写轮子” 相关的,比如下面这些:
- 编程语言
- 用 C 语言实现自己的编程语言:https://buildyourownlisp.com/
- 开发工具
- 开发自己的文本编辑器:https://viewsourcecode.org/snaptoken/kilo/
- 国外手写 Linux 调试器教程:https://blog.tartanllama.xyz/writing-a-linux-debugger-setup/
- 工具库
- 手写简易 STL:https://github.com/Alinshans/MyTinySTL
- 简单 JSON 库:https://github.com/dropbox/json11
- 简单堆内存分配器:https://github.com/CCareaga/heap_allocator
- XML 解析库:https://github.com/leethomason/tinyxml2
- 国外手写 TCP / IP 协议栈教程:https://www.saminiir.com/lets-code-tcp-ip-stack-1-ethernet-arp/
- 数据库
- 中间件
- KV 存储引擎 LevelDB:https://github.com/google/leveldb
- 开发框架
- 网络编程库 muduo:https://github.com/chenshuo/muduo
- 超轻量 web 框架 oatpp:https://github.com/oatpp/oatpp
- 微信 RPC 框架 phxrpc:https://github.com/Tencent/phxrpc(简化版的微信后台 RPC 框架,冲鹅厂的同学推荐看)
- 搜狗 RPC 框架 srpc:https://github.com/sogou/srpc(有使用教程,上手还是比较容易的,先会用再仿写)
- 国外手写 RPC 框架教程:https://users.cs.cf.ac.uk/Dave.Marshall/C/node33.html
- 服务器
- 轻量级 Web 服务器学习:https://github.com/qinguoyi/TinyWebServer
- 超轻量型 Http Server – Tinyhttpd:https://github.com/EZLippi/Tinyhttpd(代码不到 500行,适合学习,详细注释版:https://github.com/cbsheng/tinyhttpd)
- 分布式服务器视频教程:https://www.bilibili.com/video/BV1YG41137Vk
- 高性能 web 服务器项目:https://github.com/linyacool/WebServer
- 国外并发服务器教程:https://eli.thegreenplace.net/2017/concurrent-servers-part-1-introduction/
- 代理服务器 tinyfecVPN:https://github.com/wangyu-/tinyfecVPN
- 分布式系统
C++ 的项目视频比较少,建议大家在学做 C++ 项目的过程中多在网上搜索相关的文章和教程。
大家也可以从以下网站中挑选自己感兴趣的项目去学习:
- C++ 相关类库:https://en.cppreference.com/w/cpp/links/libs
- GitHub C++ 内容合集:https://github.com/fffaraz/awesome-cpp
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)