{"id":13436635,"url":"https://github.com/Light-City/CPlusPlusThings","last_synced_at":"2025-03-18T21:30:43.063Z","repository":{"id":37362680,"uuid":"196813750","full_name":"Light-City/CPlusPlusThings","owner":"Light-City","description":"C++那些事","archived":false,"fork":false,"pushed_at":"2024-06-14T01:58:36.000Z","size":1322,"stargazers_count":40518,"open_issues_count":11,"forks_count":8648,"subscribers_count":547,"default_branch":"master","last_synced_at":"2025-03-18T02:05:55.743Z","etag":null,"topics":["cplusplus","cpp","cpp11","cpp14"],"latest_commit_sha":null,"homepage":"https://light-city.github.io/stories_things/","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Light-City.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2019-07-14T08:45:45.000Z","updated_at":"2025-03-18T02:03:20.000Z","dependencies_parsed_at":"2023-02-19T14:45:29.904Z","dependency_job_id":"d3472bfa-dc74-4d82-acf9-80bf3652490a","html_url":"https://github.com/Light-City/CPlusPlusThings","commit_stats":{"total_commits":251,"total_committers":52,"mean_commits":4.826923076923077,"dds":"0.38247011952191234","last_synced_commit":"bf8ac71ae29b3904c5d1240e11fc84bd87772bac"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Light-City%2FCPlusPlusThings","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Light-City%2FCPlusPlusThings/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Light-City%2FCPlusPlusThings/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Light-City%2FCPlusPlusThings/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Light-City","download_url":"https://codeload.github.com/Light-City/CPlusPlusThings/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244310362,"owners_count":20432522,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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"}},"keywords":["cplusplus","cpp","cpp11","cpp14"],"created_at":"2024-07-31T03:00:50.872Z","updated_at":"2025-03-18T21:30:43.042Z","avatar_url":"https://github.com/Light-City.png","language":"C++","readme":"\n- [C++ 那些事](#c-那些事)\n    - [重磅项目](#重磅项目)\n    - [关于作者](#关于作者)\n    - [项目运行](#项目运行)\n      - [方式1: vscode + bazel](#方式1-vscode--bazel)\n      - [方式2: docker](#方式2-docker)\n      - [方式3: g++](#方式3-g)\n    - [视频学习本项目](#视频学习本项目)\n    - [飞书知识库](#飞书知识库)\n    - [基础进阶](#基础进阶)\n    - [实战系列](#实战系列)\n      - [10 日狂练](#10-日狂练)\n      - [重点实战练习](#重点实战练习)\n    - [C++2.0 新特性](#c20-新特性)\n      - [概况](#概况)\n      - [C++11 新特性](#c11-新特性)\n      - [C++14/17/20](#c141720)\n    - [设计模式](#设计模式)\n    - [STL 源码剖析](#stl-源码剖析)\n    - [并发编程](#并发编程)\n      - [C++ Concurrency in Action](#c-concurrency-in-action)\n      - [多线程与多进程](#多线程与多进程)\n        - [Threading In C++](#threading-in-c)\n    - [C++ 惯用法](#c-惯用法)\n        - [你最喜欢的 c++ 编程风格惯用法是什么?](#你最喜欢的-c-编程风格惯用法是什么)\n    - [学习课程](#学习课程)\n      - [极客时间《现代 C++ 实战 30 讲》](#极客时间现代-c-实战-30-讲)\n    - [工具篇](#工具篇)\n      - [容器快捷输出工具](#容器快捷输出工具)\n      - [像 Python 一样简单输出（Jupyter Notebook）](#像-python-一样简单输出jupyter-notebook)\n      - [观察编译过程变化](#观察编译过程变化)\n      - [C++ 的 Debug 工具 dbg-macro](#c-的-debug-工具-dbg-macro)\n      - [在 Linux 上的 Debug 工具 rr - 拥有回到过去的能力](#在-linux-上的-debug-工具-rr---拥有回到过去的能力)\n    - [拓展部分](#拓展部分)\n      - [一些问题](#一些问题)\n    - [贡献者](#贡献者)\n\n# C++ 那些事\n\n\n感谢各位对《C++ 那些事》的支持，现将内容也同步至B站，以视频的方式展示，可以打开网站直接阅读~欢迎大家 star、转发、PR。\n\n在线个人博客：[光城的实验室](https://light-city.github.io/)\n\n在线学习网站：[C++那些事](https://light-city.github.io/stories_things/)\n\n- 中文名：**C++ 那些事**\n- 英文名：**Stories About C Plus Plus**\n\n这是一个适合初学者从\u003cu\u003e**入门到进阶**\u003c/u\u003e的仓库，解决了\u003cu\u003e**面试者与学习者**\u003c/u\u003e想要\u003cu\u003e**深入 C++**\u003c/u\u003e 及如何\u003cu\u003e**入坑 C++**\u003c/u\u003e 的问题。除此之外，本仓库拓展了更加深入的源码分析，多线程并发等的知识，是一个比较全面的 C++ 学习从入门到进阶提升的仓库。\n\n\n### 重磅项目\n\n推出一系列重磅项目，带大家实战学习C++，配合本开源项目学习，成长飞快!\n\n直通点：[戳这里](./proj/README.md)\n\n### 关于作者\n\n公众号已开放两大入口，分别是专辑与菜单，可以直接在微信公众号上阅读《C++ 那些事》内容，配上该仓库的代码，将会非常的爽，建议大家关注一波。\n\n个人公众号：guangcity\n\n或者扫下面的二维码，欢迎大家反馈及 C++ 交流，本人在微信创建了 C++ 那些事交流群，优质的 C++ 资源交流区，期待大家关注上面公众号，点击公众号右下角-\u003e联系我，拉你入群。\n\n---\n\n\u003e关注我\n\n如果觉得不错，关注我吧~\n\n\u003ctable\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003cth align=\"center\" style=\"height=200 width=\"200\"\u003e\n          \u003cimg src=\"./img/cpp.jpg\" height=\"200\" width=\"200\" \u003e\u003cbr\u003e\n          星球\n      \u003c/th\u003e\n      \u003cth align=\"center\" style=\"height=200 width=\"200\"\u003e\n          \u003cimg src=\"./img/wechat.jpg\" height=\"200\" width=\"200\" \u003e\u003cbr\u003e\n          微信公众号\n      \u003c/th\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\n\n### 项目运行\n\n\n#### 方式1: vscode + bazel\n\n#### 方式2: docker\n\n新推出免开发环境，docker环境，大家可以pull下面镜像：\n\n```\ndocker pull xingfranics/cplusplusthings:latest\n```\n#### 方式3: g++\n\n\n### 视频学习本项目\n\n[第一期：Step By Step上手编译本项目](https://www.bilibili.com/video/BV1Rv4y1H7LB/?vd_source=bb6532dcd5b1d6b26125da900adb618e)\n\n[第二期：免开发环境docker](https://www.bilibili.com/video/BV1oz4y1a7Pu/?vd_source=bb6532dcd5b1d6b26125da900adb618e)\n\n[第三期：手把手共读HashTable，彻底搞懂C++ STL](https://www.bilibili.com/video/BV1o8411U7vy/?vd_source=bb6532dcd5b1d6b26125da900adb618e)\n\n[第四期：手把手共读STL之enable_shared_from_this](https://www.bilibili.com/video/BV1du4y1w7Mg/?spm_id_from=333.788\u0026vd_source=bb6532dcd5b1d6b26125da900adb618e)\n\n[第五期：手把手共读STL之线程，从C++11 thread到C++20 jthread](https://www.bilibili.com/video/BV1DH4y1g7gS/?vd_source=bb6532dcd5b1d6b26125da900adb618e)\n\n[第六期：手把手共读STL之共读condition_variable、condition_variable_any](https://www.bilibili.com/video/BV13b421b7Am/?spm_id_from=333.999.0.0\u0026vd_source=bb6532dcd5b1d6b26125da900adb618e)\n\n[第七期：手把手共读STL之Mutex](https://www.bilibili.com/video/BV1xm42157pq/?spm_id_from=333.999.0.0\u0026vd_source=bb6532dcd5b1d6b26125da900adb618e)\n\n[第八期：手把手共读STL之RAII Lock](https://www.bilibili.com/video/BV1Ls421g7iq/?spm_id_from=333.788\u0026vd_source=bb6532dcd5b1d6b26125da900adb618e)\n\n### 飞书知识库\n\n[互联网大厂面试实录](https://hmpy6adnp5.feishu.cn/docx/OitBdRB4KozIhTxQt7Ec7iFDnkc)\n\n[拿下offer之必备面经](https://hmpy6adnp5.feishu.cn/docx/B1aCdVTUgoyJGYxtWV7cdvgRnxv)\n\n\n### 基础进阶\n\n- [`const` 那些事](./basic_content/const)\n- [`static` 那些事](./basic_content/static)\n- [`this` 那些事](./basic_content/this)\n- [`inline` 那些事](./basic_content/inline)\n- [`sizeof` 那些事](./basic_content/sizeof)\n- [函数指针那些事](./basic_content/func_pointer)\n- [纯虚函数和抽象类那些事](./basic_content/abstract)\n- [`vptr_vtable` 那些事](./basic_content/vptr_vtable)\n- [`virtual` 那些事](./basic_content/virtual)\n- [`volatile` 那些事](./basic_content/volatile)\n- [`assert` 那些事](./basic_content/assert)\n- [位域那些事](./basic_content/bit)\n- [`extern` 那些事](./basic_content/extern)\n- [`struct` 那些事](./basic_content/struct)\n- [`struct` 与 `class` 那些事](./basic_content/struct_class)\n- [`union` 那些事](./basic_content/union)\n- [`c` 实现 `c++` 多态那些事](./basic_content/c_poly)\n- [`explicit` 那些事](./basic_content/explicit)\n- [`friend` 那些事](./basic_content/friend)\n- [`using` 那些事](./basic_content/using)\n- [`::` 那些事](./basic_content/maohao)\n- [`enum` 那些事](./basic_content/enum)\n- [`decltype` 那些事](./basic_content/decltype)\n- [引用与指针那些事](./basic_content/pointer_refer)\n- [宏那些事](./basic_content/macro)\n\n### 实战系列\n\n#### [10 日狂练](./practical_exercises/10_day_practice)\n\n- [day1-基本语法](practical_exercises/10_day_practice/day1)\n\n- [day2-递归、结构体、枚举、静态变量等](practical_exercises/10_day_practice/day2)\n\n- [day3-函数1](practical_exercises/10_day_practice/day3)\n\n- [day4-函数2](practical_exercises/10_day_practice/day4)\n\n- [day5-继承多态](practical_exercises/10_day_practice/day5)\n\n- [day6-虚函数与抽象类](practical_exercises/10_day_practice/day6)\n\n- [day7-运算符重载](practical_exercises/10_day_practice/day7)\n\n- [day8-模版与STL](practical_exercises/10_day_practice/day8)\n\n- [day9-异常](practical_exercises/10_day_practice/day9)\n\n- [day10-文件与流](practical_exercises/10_day_practice/day10)\n\n#### [重点实战练习](./practical_exercises/key_exercises/)\n\n- [中括号重载.cpp](./practical_exercises/key_exercises/bracket_overloading.cpp)\n\n- [时钟++运算符重载.cpp](./practical_exercises/key_exercises/clock.cpp)\n\n- [运算符重载之强制转换.cpp](./practical_exercises/key_exercises/operator_cast.cpp)\n\n- [重载圆括号的时钟.cpp](./practical_exercises/key_exercises/operator_circle.cpp)\n\n- [函数模板.cpp](./practical_exercises/key_exercises/func_temp.cpp)\n\n- [动态数组.cpp](./practical_exercises/key_exercises/array.cpp)\n\n- [字典插入与查找.cpp](./practical_exercises/key_exercises/map_insert_look.cpp)\n\n- [异常捕获.cpp](./practical_exercises/key_exercises/try.cpp)\n\n- [类模板之栈.cpp](./practical_exercises/key_exercises/stack.cpp)\n\n- [类模板特化之数组.cpp](./practical_exercises/key_exercises/array_template.cpp)\n\n- [继承与封装.cpp](./practical_exercises/key_exercises/override.cpp)\n\n- [读写文件综合题.cpp](./practical_exercises/key_exercises/read_file.cpp)\n\n- [输入输出运算符重载.cpp](./practical_exercises/key_exercises/io_operator_overload.cpp)\n\n- [输入输出重载.cpp](./practical_exercises/key_exercises/io_operator.cpp)\n\n- [输出格式.cpp](./practical_exercises/key_exercises/output.cpp)\n\n\n### [C++2.0 新特性](./cpp2.0)\n\n#### 概况\n\nC++2.0 是一个简称，意为「现代 C++」，包括 C++11/14/17/20。\n\n#### [C++11 新特性](./cpp2.0/cpp11)\n\n- [Variadic Templates](./cpp2.0/cpp11/variadic)\n\n- Spaces in Template Expressions\n\n  ```cpp\n  vector\u003clist\u003cint\u003e \u003e //ok in each C++ version\n  vector\u003clist\u003cint\u003e\u003e // before c++ 11 error error: ‘\u003e\u003e’ should be ‘\u003e \u003e’ within a nested template argument list,c++11后可以正常通过\n  ```\n\n- [nullptr and nullptr_t](./cpp2.0/cpp11/nullptr.cpp)\n\n- [Automatic Type Deduction with auto](./cpp2.0/cpp11/auto.cpp)\n\n- [Uniform Initialization ](./cpp2.0/cpp11/uniform_initialization.cpp)\n\n- [initializer_list](./cpp2.0/cpp11/initializer.cpp)\n\n- [explicit for ctors taking more than one argument](./cpp2.0/cpp11/explicit.cpp)\n\n- [range-based for statement](./cpp2.0/cpp11/auto.cpp)\n\n  ```cpp\n  for(decl:col) {\n      statement\n  }\n  ```\n\n- [=default,=delete](./cpp2.0/cpp11/default_delete.cpp)\n\n  如果你自行定义了一个 `ctor`, 那么编译器就不会给你一个 `default ctor`\n  如果强制加上 `=default`, 就可以重新获得并使用 `default ctor`.\n\n- Alias(化名) Template (template typedef)\n\n  - [alias.cpp](./cpp2.0/cpp11/alias.cpp)\n  - [template_template.cpp](./cpp2.0/cpp11/template_template.cpp)\n\n- [template template parameter](./cpp2.0/template_template.cpp)\n\n- [type alias](./cpp2.0/cpp11/type_alias.cpp)\n\n- [noexcept](./cpp2.0/cpp11/noexcept.cpp)\n\n- [override](./cpp2.0/cpp11/override.cpp)\n\n- [final](./cpp2.0/cpp11/final.cpp)\n\n- [decltype](./cpp2.0/cpp11/decltype.cpp)\n\n- [lambda](./cpp2.0/cpp11/lambda.cpp)\n\n- [Rvalue reference](./cpp2.0/cpp11/rvalue.cpp)\n\n- [move aware class](./cpp2.0/cpp11/move.cpp)\n\n- 容器-结构与分类\n\n  - (1) 序列式容器包括：`array`(C++2.0 新引入),`vector`,`deque`,`list`,`forward_list`(C++2.0 新引入)\n  - (2) 关联式容器包括：`set/multiset`,`map/multimap`\n  - (3) 无序容器(C++2.0 新引入,更换原先 `hash_xxx` 为 `unordered_xxx`)包括：`unordered_map/unordered_multimap,unordered_set/unordered_multiset`\n\n- [Hash Function](./cpp2.0/cpp11/hash.cpp)\n\n- [tuple](./cpp2.0/cpp11/tuple.cpp)\n\n  学习资料：https://www.bilibili.com/video/av51863195?from=search\u0026seid=3610634846288253061\n\n#### C++14/17/20\n\n待更新...\n\n### 设计模式\n\n- [单例模式](./design_pattern/singleton)\n- [生产消费者模式](./design_pattern/producer_consumer)\n\n### [STL 源码剖析](./src_analysis/stl)\n\n**STL 源码剖析：gcc 4.9.1**\n\n- [array](./src_analysis/stl/array.md)\n- [deque](./src_analysis/stl/deque.md)\n- [queue and stack](./src_analysis/stl/queue_stack.md)\n- [list](./src_analysis/stl/list.md)\n- [vector](./src_analysis/stl/vector.md)\n- [typename](./src_analysis/stl/typename.md)\n- [traits](./src_analysis/stl/traits.md)\n- [iterator](./src_analysis/stl/iterator.md)\n- [谈谈 STL 设计之 EBO 优化](./src_analysis/stl/谈谈STL设计之EBO优化.md)\n- [rb_tree](./src_analysis/stl/rb_tree.md)\n- [set and multiset](./src_analysis/stl/set_multiset.md)\n- [map and multimap](./src_analysis/stl/map_multimap.md)\n- [hashtable](./src_analysis/stl/hashtable.md)\n- [myhashtable](./src_analysis/stl/myhashtable.md)\n- [unordered_map](./src_analysis/stl/unordered_map.md)\n\n### [并发编程](./concurrency)\n\n#### C++ Concurrency in Action\n\n- [第一章](./concurrency/concurrency_v1/chapter1)\n- [第二章](./concurrency/concurrency_v1/chapter2)\n\n学习资料：https://downdemo.gitbook.io/cpp-concurrency-in-action-2ed/\n\n#### 多线程与多进程\n\n##### Threading In C++\n\n- [介绍](./concurrency/Threading_In_CPlusPlus/1.thread)\n- [创建线程的五种类型](./concurrency/Threading_In_CPlusPlus/2.create_type)\n- [Join 与 Detachs](./concurrency/Threading_In_CPlusPlus/3.join_detach)\n- [mutex in C++ Threading](./concurrency/Threading_In_CPlusPlus/4.mutex)\n\n\u003e 学习自：\n\u003e\n\u003e https://www.youtube.com/watch?v=eZ8yKZo-PGw\u0026list=PLk6CEY9XxSIAeK-EAh3hB4fgNvYkYmghp\u0026index=4\n\n### [C++ 惯用法](./codingStyleIdioms)\n\n##### 你最喜欢的 c++ 编程风格惯用法是什么?\n\n- [1.类初始化列表](./codingStyleIdioms/1_classInitializers)\n- [2.枚举类替换命名空间](./codingStyleIdioms/2_enumclass_namespace)\n- [3.RAII (资源获取即初始化)](./codingStyleIdioms/3_RAII)\n- [4.copy and swap](./codingStyleIdioms/4_copy-swap)\n- [5.pImpl (指针指向具体实现)](./codingStyleIdioms/5_pImpl)\n\n### 学习课程\n\n#### [极客时间《现代 C++ 实战 30 讲》](https://time.geekbang.org/channel/home)\n\n- [堆、栈、RAII：C++ 里该如何管理资源？](./learn_class/modern_cpp_30/RAII)\n  - [堆](./learn_class/modern_++_30/RAII/heap.cpp)\n  - [栈](./learn_class/modern_cpp_30/RAII/stack.cpp)\n  - [RAII](./learn_class/modern_cpp_30/RAII/RAII.cpp)\n- [自己动手，实现 C++ 的智能指针](./learn_class/modern_cpp_30/smart_ptr)\n  - [auto_ptr、scope_ptr](./learn_class/modern_cpp_30/smart_ptr/auto_scope.cpp)\n  - [unique_ptr](./learn_class/modern_cpp_30/smart_ptr/unique_ptr.cpp)\n  - [shared_ptr](./learn_class/modern_cpp_30/smart_ptr/shared_ptr.cpp)\n- [右值和移动究竟解决了什么问题？](./learn_class/modern_cpp_30/reference)\n  - [左值与右值](./learn_class/modern_cpp_30/reference/reference.cpp)\n  - [延长声明周期](./learn_class/modern_cpp_30/reference/lifetime.cpp)\n  - [引用折叠](./learn_class/modern_cpp_30/reference/collapses.cpp)\n  - [完美转发](./learn_class/modern_cpp_30/reference/forward.cpp)\n  - [不要返回本地变量的引用](./learn_class/modern_cpp_30/reference/don'treturnReference.cpp)\n- [容器 1](./learn_class/modern_cpp_30/container1)\n- [容器 2](./learn_class/modern_cpp_30/container2)\n- [异常](./learn_class/modern_cpp_30/exception)\n- [字面量、静态断言和成员函数说明符](./learn_class/modern_cpp_30/literalAssert)\n- [是不是应该返回对象？](./learn_class/modern_cpp_30/returnObj)\n- [编译期多态：泛型编程和模板入门](./learn_class/modern_cpp_30/compilerpoly)\n- [译期能做些什么？一个完整的计算世界](./learn_class/modern_cpp_30/compilercompute)\n- [SFINAE：不是错误的替换失败是怎么回事?](./learn_class/modern_cpp_30/SFINAE)\n- [constexpr：一个常态的世界](./learn_class/modern_cpp_30/constexpr)\n- [函数对象和 lambda：进入函数式编程](./learn_class/modern_cpp_30/functionLambda)\n- [内存模型和 atomic：理解并发的复杂性](./learn_class/modern_cpp_30/memorymodel_atomic)\n\n### 工具篇\n\n#### [容器快捷输出工具](./tool/output)\n\n对吴老师的代码进行了修改，[点击此处直通代码](./tool/output/output_container.h)\n\n输入：\n\n```cpp\nmap\u003cint, int\u003e mp{\n            {1, 1},\n            {2, 4},\n            {3, 9}};\n    cout \u003c\u003c mp \u003c\u003c endl;\n```\n\n输出结果显示：\n\n```cpp\n{ 1 =\u003e 1, 2 =\u003e 4, 3 =\u003e 9 }\n```\n\n#### 像 Python 一样简单输出（Jupyter Notebook）\n\n- [像 Python 一样玩 C/C++](./tool/像Python一样玩CC++.md)\n\n#### 观察编译过程变化\n\n-  [https://cppinsights.io](https://cppinsights.io/)\n\n#### C++ 的 Debug 工具 dbg-macro\n\n- [C++ 的 Debug 工具 dbg-macro](./tool/C++的Debug工具dbg-macro.md)\n\n#### 在 Linux 上的 Debug 工具 rr - 拥有回到过去的能力\n- [用 rr 来进行 debug](./tool/用rr来进行debug.md)\n\n### 拓展部分\n\n#### 一些问题\n\n- [C++ 中如何将 string 类型转换为 int 类型？](./extension/some_problem/string_int.md)\n\n### 贡献者\n\n\n\n| 贡献人  | 地址                          |\n| ------- | ----------------------------- |\n| 光城    | https://github.com/Light-City |\n| ChungZH | https://github.com/ChungZH    |\n| xliu79  | https://github.com/xliu79     |\n\n\n\n\n\n","funding_links":[],"categories":["HarmonyOS","C++","CPP","Programming Language Tutorials","🙏 致谢"],"sub_categories":["Windows Manager","FPS","常见问题 QA","C++/C","学习资源","贡献方式"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FLight-City%2FCPlusPlusThings","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FLight-City%2FCPlusPlusThings","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FLight-City%2FCPlusPlusThings/lists"}