【发布时间】:2010-11-30 11:06:21
【问题描述】:
例如,为什么 STL 实现中的大多数成员都有 _M_ 或 _ 或 __ 前缀?
为什么有这么多样板代码?
C++ 缺少哪些功能可以使向量(例如)实现更清晰、更简洁?
【问题讨论】:
-
你为什么要关心实现细节?
-
你会得到很多负面的 cmets,但我赞赏你愿意阅读代码并询问为什么它是这样编写的。太多的开发者不会尝试,也不会在意。
-
@Łukasz Lew:很高兴您阅读了代码!一旦你阅读了一定数量的代码,突然之间,STL 实现不再是不可读的,变得清晰而明显。
-
当文档未能为您提供详细信息时,这是因为详细信息可能会发生变化。所以这不是阅读源代码的好理由。您在源代码中找到但未在文档中找到的任何内容都可能在下一个编译器版本中更改,因此您不应依赖它。
-
@Pavel:确实发生了。我已经阅读了一整天的代码,现在它很容易阅读。此外,我还学习了一些不错的 C++ 习惯用法和模式。了解了分配器的具体工作原理、如何使用高级迭代器获得可读代码等等!
标签: c++ stl c++11 readability