{"id":62003,"url":"https://github.com/uchenily/awesome-modern-cpp","name":"awesome-modern-cpp","description":"A collection of modern C++ libraries, including the most basic usage","projects_count":34,"last_synced_at":"2026-06-23T16:00:25.747Z","repository":{"id":244342370,"uuid":"814959644","full_name":"uchenily/awesome-modern-cpp","owner":"uchenily","description":"A collection of modern C++ libraries, including the most basic usage","archived":false,"fork":false,"pushed_at":"2025-09-14T12:01:30.000Z","size":41,"stargazers_count":9,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-06-06T21:01:12.737Z","etag":null,"topics":["awesome","awesome-list","cpp20","cpp23","library","modern-cpp"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc0-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/uchenily.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-06-14T04:05:11.000Z","updated_at":"2026-02-26T04:12:16.000Z","dependencies_parsed_at":"2024-06-14T05:45:41.902Z","dependency_job_id":"71e636cc-f961-4d93-a626-bace08a1624a","html_url":"https://github.com/uchenily/awesome-modern-cpp","commit_stats":null,"previous_names":["uchenily/awesome-modern-cpp"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/uchenily/awesome-modern-cpp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uchenily%2Fawesome-modern-cpp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uchenily%2Fawesome-modern-cpp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uchenily%2Fawesome-modern-cpp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uchenily%2Fawesome-modern-cpp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/uchenily","download_url":"https://codeload.github.com/uchenily/awesome-modern-cpp/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uchenily%2Fawesome-modern-cpp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34696912,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-23T02:00:07.161Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"created_at":"2024-06-16T00:00:17.495Z","updated_at":"2026-06-23T16:00:25.747Z","primary_language":"C++","list_of_lists":false,"displayable":true,"categories":["序列化","RPC","协程","网络","未分类","反射","算法","编码","图形学","游戏开发","模板引擎","测试框架"],"sub_categories":[],"readme":"# Awesome-Modern-CPP\n\n\u003cp align=\"center\"\u003e\u003cimg src=\"https://github.com/uchenily/awesome-modern-cpp/blob/main/resources/badge.svg\"\u003e\u003c/p\u003e\n\nModern C++集合\n\n在这个仓库中, 是怎么定义 `Modern` C++的?\n\n- C++98 ❌\n- C++03 ❌\n- C++11 ❌\n- C++14 ❌\n- C++17 ❌\n- C++20 ✅\n- C++23 ✅\n- ...\n\n当然, 有很多库都会向前兼容较老的标准, 筛选标准是根据 \"是否广泛使用了新标准中的特性\" 为依据.\n\n# 目录\n\n- [日志](#日志)\n- [协程](#协程)\n- [网络](#网络)\n- [RPC](#RPC)\n- [反射](#反射)\n- [序列化](#序列化)\n- [算法](#算法)\n- [编码](#编码)\n- [图形学](#图形学)\n- [游戏开发](#游戏开发)\n- [模板引擎](#模板引擎)\n- [测试框架](#测试框架)\n- [未分类](#未分类)\n\n## 日志\n\n- TODO\n\n## 协程\n\n\u003cdetails open\u003e\n\u003csummary\u003e⛏\u003c/summary\u003e\n\nC++20协程, 任务, 调度器\n\n- [concurrentcpp](https://github.com/David-Haim/concurrencpp): 通过使用任务、执行器和协程轻松安全地编写高并发的应用程序, 允许应用程序通过使用并行协程轻松编写并行算法\n\n- [libfork](https://github.com/ConorWilliams/libfork): 一个前沿的, lock-free, wait-free, 实现任务窃取的库，建立在c++ 20的协程上\n\n- [libasync](https://github.com/managarm/libasync): c++ 20的异步原语库\n\u003c/details\u003e\n\n## 网络\n\n\u003cdetails open\u003e\n\u003csummary\u003e⛏\u003c/summary\u003e\n\n网络基础库/框架/开发工具, 协程, 高并发\n\n- [zedio](https://github.com/8sileus/zedio): 用现代c++编写的异步运行时，基于c++ 20协程和iouring\n\n- [async_simple](https://github.com/alibaba/async_simple): 简单，轻量级和易于使用的异步组件\n\n- [cinatra](https://github.com/qicosmos/cinatra): 现代c++(c++20)，跨平台，header-only，易于使用的HTTP框架\n\n- [coroio](https://github.com/resetius/coroio): 使用c++20协程的网络库\n\n- [libfv](https://github.com/fawdlstty/libfv): C++20 纯头文件网络库，支持 TCP/SSL/Http/websocket 服务器端与客户端\n\n- [co_async](https://github.com/archibate/co_async): c++ 20协程库 (教学目的)\n\n- [coke](https://github.com/kedixa/coke): 协程版 [Workflow](https://github.com/sogou/workflow)\n\u003c/details\u003e\n\n## RPC\n\n\u003cdetails open\u003e\n\u003csummary\u003e⛏\u003c/summary\u003e\n\n反射/RPC\n\n- [asio-grpc](https://github.com/Tradias/asio-grpc): 异步gRPC, (使用asio/unified executors)\n\n- [zpp_bits](https://github.com/eyalz800/zpp_bits): 一个轻量级的c++ 20序列化和RPC库\n\u003c/details\u003e\n\n## 反射\n\n\u003cdetails open\u003e\n\u003csummary\u003e⛏\u003c/summary\u003e\n\n编译期反射/运行时反射\n\n- [reflect](https://github.com/qlibs/reflect): C++20静态反射库\n\n- [reflect-cpp](https://github.com/getml/reflect-cpp): 一个c++ 20库，使用反射进行快速序列化、反序列化和验证。支持JSON, BSON, CBOR, flexbuffers, msgpack, TOML, XML, YAML\n\n- [USRefl](https://github.com/Ubpa/USRefl): header-only，很小(99行)和强大的c++ 20静态反射库\n\n- [meta.hpp](https://github.com/BlackMATov/meta.hpp): C++20动态反射库\n\n- [reflect](https://github.com/boost-ext/reflect): C++20静态反射库\n\n\u003c/details\u003e\n\n## 序列化\n\n\u003cdetails open\u003e\n\u003csummary\u003e⛏\u003c/summary\u003e\n\nC++对象序列化/反序列化, pack/unpack, JSON\n\n- [glaze](https://github.com/stephenberry/glaze): 极快的现代c++ JSON库, 从对象内存中读写，提供简化的接口并提供了令人难以置信的性能\n\n- [magic-cpp](https://github.com/16bit-ykiko/magic-cpp): 一个 header-only的库，它旨在让您更加方便的使用C++，包括了可视化类型名，对结构体枚举的反射等一些列功能，它能帮摆脱那难以阅读的编译器报错信息\n\n- [serialize](https://github.com/RedSkittleFox/serialize): C++23序列化库, 提供了一个简单易用的接口，支持容器、普通类型和聚合类型，并提供了简单的接口来创建自定义序列化方法\n\n\u003c/details\u003e\n\n## 算法\n\n\u003cdetails open\u003e\n\u003csummary\u003e⛏\u003c/summary\u003e\n\nalgorithm/range/sequence/collection\n\n- [flux](https://github.com/tcbrindle/flux): 面向序列编程的c++ 20库\n\n- [small_vectors](https://github.com/arturbac/small_vectors): 优化的C++ 20/23 vector, 类内缓冲区存储的字符串, 和一些实用算法\n\n\u003c/details\u003e\n\n## 编码\n\n\u003cdetails open\u003e\n\u003csummary\u003e⛏\u003c/summary\u003e\n\n- [libunicode](https://github.com/contour-terminal/libunicode): 现代c++ 20 Unicode库\n\n\u003cdetails closed\u003e\u003csummary\u003e\u003c/summary\u003e\n\n```cpp\n    auto a8 = std::string{\"Hello, World!\"};\n    auto a32 = unicode::from_utf8(a8);\n    assert(a32 == U\"Hello, World!\");\n\n    // auto b8 = string { (char const*) u8\"你好, 世界\" };\n    auto b8 = std::string{\"你好, 世界\"};\n    std::cout \u003c\u003c \"b8 len: \" \u003c\u003c b8.size() \u003c\u003c '\\n';\n    auto b32 = unicode::from_utf8(b8);\n    assert(b32 == U\"你好, 世界\");\n    std::cout \u003c\u003c \"b32 len: \" \u003c\u003c b32.size() \u003c\u003c '\\n';\n\n    auto u32str = std::u32string{U\"你好😃\"};\n    auto str = unicode::to_utf8(u32str);\n    assert(str == \"你好😃\");\n```\n\n```text\nb8 len: 14\nb32 len: 6\n```\n\n\u003c/details\u003e\n\n- [consteval-huffman](https://github.com/tcsullivan/consteval-huffman): 编译期huffman编码压缩(特定场景下能减少程序体积)\n\n\u003cdetails closed\u003e\u003csummary\u003e\u003c/summary\u003e\n\n```cpp\n    auto data\n        = \"1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100\"_huffman;\n\n    std::cout \u003c\u003c \"压缩前大小(字节): \" \u003c\u003c data.uncompressed_size() \u003c\u003c '\\n';\n    std::cout \u003c\u003c \"压缩后大小(字节): \" \u003c\u003c data.compressed_size() \u003c\u003c '\\n';\n    std::cout \u003c\u003c \"节省空间: \" \u003c\u003c data.bytes_saved() \u003c\u003c '\\n';\n\n    std::cout \u003c\u003c \"解码后的数据: \\n\";\n    for (char c : data) {\n        std::cout \u003c\u003c c;\n    }\n```\n\n```text\n压缩前大小(字节): 292\n压缩后大小(字节): 187\n节省空间: 105\n解码后的数据:\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100\n```\n\n\u003c/details\u003e\n\n\u003c/details\u003e\n\n## 图形学\n\n\u003cdetails open\u003e\n\u003csummary\u003e⛏\u003c/summary\u003e\n\n- [matrix](https://github.com/fengwang/matrix): 一个现代的，c++ 20的，单头文件dense 2D矩阵库\n\u003c/details\u003e\n\n## 游戏开发\n\n\u003cdetails open\u003e\n\u003csummary\u003e⛏\u003c/summary\u003e\n\n- [peredvizhnikov-engine](https://github.com/eduard-permyakov/peredvizhnikov-engine): 一个用c++20编写的完全无锁的游戏引擎。它在语言的协程原语之上实现了并发计算的 actor 模型。\n\n\u003c/details\u003e\n\n## 模板引擎\n\n\u003cdetails open\u003e\n\u003csummary\u003e⛏\u003c/summary\u003e\n\n模板系统/模板引擎\n\n- [bustache](https://github.com/jamboree/bustache): `{{mustache}}`的C++20实现\n\u003c/details\u003e\n\n## 测试框架\n\n\u003cdetails open\u003e\n\u003csummary\u003e⛏\u003c/summary\u003e\n\n测试工具/测试框架\n\n- [ut](https://github.com/boost-ext/ut): c++单头文件/单模块，无宏的(微型)单元测试框架\n\n- [clean-test](https://github.com/clean-test/clean-test): 现代C++20测试框架\n\u003c/details\u003e\n\n## 未分类\n\n\u003cdetails open\u003e\n\u003csummary\u003e⛏\u003c/summary\u003e\n\n- [yalantinglibs](https://github.com/alibaba/yalantinglibs): 一个c++20库的集合，包括coro_rpc, struct_pack, struct_json, struct_xml, struct_pb, easylog, async_simple\n\n- [rpp](https://github.com/TheNumbat/rpp): Minimal Rust-inspired C++20 STL replacement\n\n- [libv](https://github.com/cpplibv/libv): C++23编写的包含大量可重用代码的库集合\n\n- [OpenSiv3D](https://github.com/Siv3D/OpenSiv3D): 一个开源框架，允许使用现代c++(C++20), 结合声音，图像和AI, 编写有趣的游戏和应用程序. 支持 Windows / macOS / Linux / Web 平台.\n\n- [STX](https://github.com/lamarrr/STX): 一个库和实用程序的集合，旨在使使用c++更容易，更不容易出错。\n\n\u003c/details\u003e\n","projects_url":"https://awesome.ecosyste.ms/api/v1/lists/uchenily%2Fawesome-modern-cpp/projects"}