当前位置:  开发笔记 > 编程语言 > 正文

您最不喜欢的C++编码指南

如何解决《您最不喜欢的C++编码指南》经验,为你挑选了2个好方法。

作为对口C++编码指南102,它的萨特和Alexandrescu的101个指引你违反或忽视最常用的,为什么?



1> Nick..:

我会告诉我,它可能是16个.避免使用宏.我发现有很多东西我只能用宏来做(特别是将__FILE__和__LINE__内联到表达式中),而且很多情况下我需要一个在外部函数上下文中运行的紧凑表达式(检查结果代码并返回,例如).因此,我的代码往往会以宏的形式自由地散布,例如,所以我会说这是我忽略的一个.

也就是说,如果语言允许使用相同概念的替代类似的紧凑表达式,我会放弃我的大多数用途,但由于它没有,宏将会存在很长时间.

我应该补充一点,这并不是说我认为这个建议很糟糕,或者当你有另一种选择时跟进它是不好的.我发现我最终使用了很多宏,通常因为没有替代品可用.



2> Steve Jessop..:

我昨天才在这个网站上打破了19(总是初始化变量).我的代码片段是:

uint64_t i = getIEEEbitpatternByMeansRelevantToTheQuestion();
double d;
memcpy(&d, &i, 8);

在初始化d中看不到任何一点:没有可能有意义的值,编译器将忽略我提供的值或者用它做一些浪费的事情.

初始化非POD类型和作为类成员的POD类型是非常明智的.初始化一些东西只是为了memcpy/memset而不是它.

事实上,初始化非POD的原因之一是避免您刚刚在后面分配的默认构造.初始化你计划涂鸦的POD基本上是一件坏事.

但是,我没有这本书,所以可能是他们的意思,标题中的"总是"是误导性的.

推荐阅读
个性2402852463
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有