RegameDesk 开发笔记【4】C++

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),避免冗余代码)

如果您使用微信,也可以关注公众号 UMU618,在公众号文章里评论。