cpp-阅读材料
官网资料
- C++ 标准库容器 Microsoft Learn
- cppreference.com
- cppreference.com
- Standard C++
- Data Type Ranges Microsoft Learn
- Keywords (C++) Microsoft Learn
- C++ Insights
- cplusplus.com/reference/
- changkunmodern-cpp-tutorial 📚 Modern C++ Tutorial C++11141720 On the Fly httpschangkun.demodern-cpp
- MSYS2
- Your Gateway to Embedded Software Development Excellence · PlatformIO
职业
C++现状
- C++ 是不是正在被淘汰?
- 为什么 C 语言没有被 C++ 取代? - 知乎
- 为什么说 C++很难? - 知乎
- 自学 C 语言的最恐怖的地方是什么? - 知乎
- 🌟杞鋂 - 我们是否可以认为 C++ 已经进入了「垃圾时间」? - 知乎
库类
-
- 概要: 推荐几十个吧,这里整理了一些高质量现代 C++风格的开源仓库: args: https://github.com/Taywee/args - 命令行参数解析库,代码行数 800 左右。libzippp: https://github.com/ctabin/libzippp - 基于 zlib 和 libzip 的跨平台封装,代码行数 2000 左右。cista:https://github.com/felixguendling/cista - header only 的序列化-反射库,代码行数 1500 左右。sqlite_orm: https://github.com/fnc12/sqlite_orm - Sqlite 的 C++ ORM 封装,代码…
- 点赞: 558
配置类
-
第 1 章 迈向现代 C++ 现代 C++ 教程 高速上手 C++ 11141720 - Modern C++ Tutorial C++ 11141720 On the Fly
-
果冻虾仁 - 腾讯以及各大厂的 C++ 开发环境是什么样的? - 知乎
- 概要: 先后在 TB 待过,都是主要做 C++的开发。这里谈一下两个公司的 C++开发环境。 首先声明,谈到开发环境,不仅包含 IDE,还有其他很多很多的工具。 另外就是不管是哪个公司对于如何开发都没有太大限制,在保证不泄露代码的安全前提下,选择自己喜欢的开发方式就好。但是肯定每个公司的前辈程序员们还是有一定的选择偏好的,所以后来的程序员也慢慢被同化。 腾讯由于之前很多很多年腾讯的办公电脑都是 Windows(18 年开始才有 MacBook 的选项…
- 点赞: 1789
版本类
语法类
- C++ emplace_back - 简书
- STL 源码剖析(6):sort 算法的内核 vector sort 源码-CSDN 博客
- 你读过的最好的 C++ 开源代码是什么? - 知乎
- C++ STL 源码剖析之 Traits 编程技法 - 知乎
- 什么是非平凡(non-trivial)构造函数 - 知乎
- 什么是 POD 数据类型? - 知乎
- c++ 左值引用与右值引用 - 知乎
- extern C:实现 C++和 C 的混合编程 - C 语言中文网
- C++ STL 源码剖析之 Traits 编程技法 - 知乎
- C 语言使用 char 是否可以节约内存? - 知乎
- C++中什么情况下需要重载 new 运算符? - 知乎
- 【C++】智能指针(Smart Pointer) c++的 smart pointer-CSDN 博客
- C++ new 的用法 (总结) c++ new 语法-CSDN 博客
- c++学习 :函数形参 4 种传递形式:(int a)(int &a)(int a)(int & a)_int a 和(int)&a-CSDN 博客
学习资源
- 星辰暗涌 - 哪有适合初学者阅读的 C++代码资源? - 知乎
- 概要: 我感觉如果自己只提供初学者资源就太不够意思了。现在给出初学者,中级者和高级者的资源,含技能点和建议学习时间,共 27 个项目。每一个 git 都验证过,项目是有效的。为了不迷路,建议先收藏再看。高级项目还有虚拟机和编译器。 一、初级项目(适合 1-3 个月学习经验)1、计算器程序https://github.com/Arsenic-ATG/Qt-calculator 描述:实现基础的数学运算,包括加减乘除、括号处理 技能点:基本语法、运算符重载、字符串处理 建议学习时间:1 周 [图片] [图片] 2、贪吃蛇游…
- 点赞: 426
- 学 C++真的需要看那么多书吗? - 知乎
- 有哪些值得推荐的 C++ 技术博客? - 知乎
源码类
项目类
-
pengjianzhang - 你读过的最好的 C 开源代码是什么? - 知乎
- 概要: nginx、freeBSD 算是对我影响最大两个 C 项目了 nginx 中的多进程模式、配置解析、协议解析、连接管理、高可用非常巧,对应用层协议处理有很多启发 freeBSD 的 tcp 协议栈 是可读性最好的 TCP 协议栈了,对学习网络非常有帮助这两个项目的代码变量、函数命名语义清晰,代码自注释做得比较好,是 C 开发者学习的榜样。 dperf 项目 参考了这两个项目很多地方。
- 点赞: 138
-
Rocky0429 - 有哪些适合个人练手的中等规模的 C++项目? - 知乎
- 概要: 所谓适合个人练手的中等规模的 C++ 项目要具有一定的复杂性和功能性,能够在设计、实现和调试过程中锻炼自己的 C++ 编程能力。 基于这些特点,我在这给大家推荐 6 个优质的 C++ 项目:1、30dayMakeCppServer(3.4k+ star)一切后台开发的基础,都是面向 Linux 的 C/C++ 服务器开发。 本项目 30 天自制 C++ 服务器,包含图文教程和源码,教你在 30 天内入门 Linux 服务器开发,讲解了 Socket、epoll、线程池、CMake 等知识点。 …
- 点赞: 1911
-
笨小孩计划 - 有什么项目可以大量使用 c++实现? - 知乎
- 概要: 写几个对初学者比较友好的项目吧 入门: LevelDB: Google 开源的高性能键值存储库,采用 C++编写,通过分层设计优化读写性能,提供数据持久化保证,适用于各种需要快速可靠存储的场景。 推荐指数: 五颗星 代码行数很少,总共 2.3w 行项目中有很多优秀的数据结构设计, 例如 LSM 树,SkipList, LRUcache。优秀的内存管理:Arena 内存池的设计,当然还有其他的内存设计。性能优化: 其中的数据压缩和 bloomfilter 的设计。还有基础的操作系统…
- 点赞: 755
工程实践类
-
程序喵大人 - c++的.h 和 cpp,放在相同目录下好,还是顶层就用 include,src 分开好? - 知乎
- 概要: 可以参考最牛逼的代码仓库的设计经验: 下图为 Google 的 Chromium 代码( https://github.com/chengxumiaodaren/chromium/tree/main/base/timer ): [图片] 下图为 Facebook 的 Folly 代码: [图片] 下图为百度 apollo 的代码: [图片] 整体设计思路其实比较简单: 单纯的做应用,本模块只自己内部使用,那完全可以 header 和 source 放在同级目录下,同类的代码放在一起结构更清晰。- module --- module.h --- module.cc 如果你做的是库,比如动态库或者静态库给外部使用(本人就是专业做 SDK 十余年),那就最好把对…
- 点赞: 185
-
总结: 接口规范时使用 C 而不是 C++,因为 C++是编译器敏感的~~Qt 攻城狮 - 什么时候用 C 而不用 C++? - 知乎~~
-
惘客 - 如何优雅的用 VScode 编写 C++ 大型项目? - 知乎
- 概要: 用 vscode 写 c++项目不要太爽,装完 vscode 再装几个核心插件就完事了(编译器提前装好): c/c++:主要用于调试,不打算使用它的智能提示,太垃圾了 cmake:用于 cmake 语言的智能提示 cmake tools: 用于构建 cmake 项目 clangd: 划重点,这是整个编码流程舒适的关键,该插件安装后再在使用时会自动帮忙安装 clangd(llvm c++ language server provider),对于从头编写的项目,智能提示毫无障碍,对于已有项目,只需要提前在 build 目录下生成 compil…
- 点赞: 407
头文件
-
- 概要: awesome-hpp,主要是搜集全头文件的 C++开源项目。https://github.com/p-ranav/awesome-hpp [图片] 全头文件库(header only)在 C++中非常常见,其核心优点是极致的易用性和对模板的天然支持。用户只需包含头文件即可使用库的功能,完全避免了编译、链接库文件的复杂步骤,对新手和快速集成第三方代码极其友好。更重要的是,C++模板的编译机制要求其完整定义必须在编译时对使用它的代码可见,因此广泛使用模板的库(如 STL、Boost 的许多组件) 必须将实现放在…
- 点赞: 114
废弃
参考资料
- karlestira - 程序员随意使用size_t是否属于装逼行为? - 知乎
- 概要: 你写uint32,然后str真有4个G以上长度的时候你就老实了。 写c/c++最最基本的一件事:比较两个数的时候,请务必尽可能保证这两个数类型一致。如果一定要不一致,那你千万当心。 要不然不知道有多少屎要去踩。 就你这个例子,strlen返回值就是size_t,64位系统里他就是有可能返回大于4G的值,那么如果你用uint,比较32和64的时候隐式转换为64,32转64的数字永远不可能大于4G,喜提无限循环。 这不是格局不格局的问题,str长度大于4…
- 点赞: 382
- 圆胖肿 - 深入钻研c++值得吗? - 知乎
- 概要: 这个是油管上一个最新的视频,时长整整两个多小时,要阐述的论点,直接翻译过来: C++是有史以来,最糟糕的编程语言 [图片] 链接我放在图片说明里面了,该视频开篇第一句话就是,C++是穷凶极恶的 短短两周时间,收获了1.4万赞,观看人数高达20多万次,这意味着什么,你可以自己搜索一下,油管上视频,能在两周时间内达到如此成就,尤其是时长高达2个多小时的视频,有多难得 很多MV都没这个浏览量和点赞数 有兴趣的自己点进去看了,现在油…
- 点赞: 980
- 南山烟雨珠江潮 - 想用 C++ 写一个小项目,有什么好的创意? - 知乎
- 概要: 你就把课本上的huffman编码的例子做成一个完整的压缩/解压软件即可。这个非常适合刚学完编程语言的人做。 要求我都帮你写好了: 1. 功能要求实现基于哈夫曼编码的文件/目录压缩功能实现对应的解压功能,恢复原始文件/目录结构支持单个文件压缩支持目录压缩(包括嵌套目录结构)压缩文件格式包含必要的元信息,以便正确解压提供基本的压缩统计信息(压缩率、压缩时间等)2. 技术要求使用C++面向对象编程方法实现完整的类继承体系…
- 点赞: 371
- from zhihu collection 2026.01
- 南山烟雨珠江潮 - 你读过的最好的 C 开源代码是什么? - 知乎
- 概要: 你读过的最好的 C开源代码是什么?nginx。花了一些时间读过,主要是想看看C++的很多功能在C里面怎么做。例如nginx很强大模块化功能,用C++我很熟,像这样子: #include
#include #include #include <unordered_map> //--- 基础类定义 --- class Module { public: virtual ~Module() = default; virtual void parseCommand(const std::string&… - 点赞: 296
- from zhihu collection 2026.01
- 概要: 你读过的最好的 C开源代码是什么?nginx。花了一些时间读过,主要是想看看C++的很多功能在C里面怎么做。例如nginx很强大模块化功能,用C++我很熟,像这样子: #include