3

最近一位同事问我对在 C++ 代码中使用异常规范的看法,我能够挖掘出 Herb Sutter 的这篇文章:A Pragmatic Look at Exception Specifications。与 Herb Sutter 的大多数文章一样,这篇文章是一本教育读物,但简短的回答是“不要那样做”。

在总结中,他提到了一首题为“实施前的夜晚”的诗,其中,标准委员会实际上在最后一刻屈服于用户的要求,添加了一个功能,结果发现当它做了什么是要求,它并没有真正做到他们想要的。是的,异常规范符合该法案。正如他所说,“当时这个功能似乎是个好主意,这正是一些人所要求的。” 如果这还不够,他然后访问“出口”,结果类似的悲惨结果。

所以问题是这样的:如果你不想流泪,C++ 的什么“特性”被证明是坏的,不应该被使用。这可能是主观争吵的牺牲品,但我希望人们会引用一个特定的体验,即部署该功能只是为了引起可衡量的问题。更好的是像 Sutter(或任何深入参与该标准的人)这样的领导者引用文章,警告人们不要使用某个功能。

4

1 回答 1

5

如果您还包括库功能:auto_ptr. 它有它的用途,但也很容易被滥用。下一个 C++ 标准也将弃用它们以支持更安全、更灵活的 std::unique_ptr。

于 2010-10-06T14:58:04.177 回答