C++ 20
根据 jetbrains 的统计,2023 年时,C++ 20 的使用率是 29%,仅次于 C++ 17 的 43%。在嵌入式领域和游戏开发领域,C++ 20 的使用率更高,分别为 37% 和 39%。
众所周知,C++ 版本越高,就越强大,并且解决以前版本的一些问题。讲道理的话,现在 2025 年就应该用 C++ 20。不用的人,大致理由都是成本问题。其实,大可以把工程的版本设置为 C++ 20,然后按照已经学会的版本去用。这种情况下,遇到问题,通常就是遇到旧版本的不足或过时的部分。按照稣的经验,目前主流大语言模型对 C++ 20 的支持是不错的,尤其是语法和标准库使用上。
参考:
CppCoreGuidelines
这是由 C++ 之父 Bjarne Stroustrup 领导的行业巨佬们写的宝典,对于写好工程有巨大帮助。有些初学者,买了工具书学完语法,就开始写代码,然后就会遇到一个典型的问题:代码写多了就乱,乱到一定程度自己都不想继续。即使是更好点的情况,靠毅力把代码写到上线,后面却发现乱得自己都不想维护。CppCoreGuidelines 就是用来解决这类问题的。
入门 CppCoreGuidelines 的第一步是:把 GSL 用起来。
参考:
第二步是:记住不要写 STUPID 的代码。仔细看看 CppCoreGuidelines,里面有具体规则。
-
Singleton - 单例(I.3: 避免使用单例)
-
Tight Coupling - 紧密耦合(C: 类和类层次)
-
Untestability - 不可测试(P.12: 适当采用支持工具、P.13: 适当采用支持程序库)
-
Premature Optimization - 过早优化(Per.1: 请勿进行无理由的优化、Per.2: 请勿进行不成熟的优化、Per.3: 请勿对非性能关键的代码进行优化)
-
Indescriptive Naming - 非描述性命名(P.3: 表达你的设计意图)
-
Duplication - 重复代码(ES.3: 避免重复(DRY),避免冗余代码)