游戏开发者的C++20顽皮和漂亮列表-Jeremy的博客

- 该博文总结了作者认为游戏开发者应该使用的C++20功能以及应该避免使用的功能。 - 作者假设读者有类似的代码库要求,包括大型代码库、DLL使用、广泛的平台兼容性、对磁盘使用和二进制膨胀的敏感性以及运行时效率的重要性。 - 作者指出即使读者的要求与作者相似,也可能得出截然相反的结论,因为编码文化和实践因团队而异。 - 作者强调即使某个功能在“好”列表中,也不意味着该功能不能被滥用,在某些情况下可能是“坏”的。 - 作者列举了一些“好”的功能,包括默认比较和三路比较运算符、有符号整数的2的补码和算术移位、协程、约束和概念、<bit>头文件、<numbers>头文件、新的同步原语、<span>、指定初始化器等。 - 作者列举了一些“坏”的功能,包括char8_t、[[no_unique_address]]、模块、<format>、<ranges>和<source_location>。 - 作者总结认为C++20是一个积极和有影响力的改变,但也存在一些问题,不同的工程师可能有不同的需求和编码实践。读者应该自行尝试并得出自己的结论。

评论