我是一个相当菜鸟的 C++ 程序员,但在我有限的语言经验中,大多数标准 C++ 样式指南(例如Google C++ 样式指南)与 stl 和 boost 库中实现的内容背道而驰。
例如,C++ 标准库和 Boost 中的类名总是小写,用下划线分隔单词(例如std::vector
, boost::unordered_map
, std::map::const_iterator
),而我看到的大多数 C++ 样式指南倾向于 CamelCase 样式(例如TcpConnection
or Int32
)。
这同样适用于方法。标准库和 Boost 对方法和函数使用与类(例如std::map<>::get_equal("foo")
)相同的风格,而大多数风格指南提倡 pascalCase 或 CamelCase。
如果我们将其与 Ruby 之类的语言进行对比,大多数用户将遵守核心库中使用的约定,标准 C++ 库与其他所有人的代码之间存在如此大的差异似乎很奇怪。
有人知道为什么吗?
编辑:为了澄清,我只是在谈论肤浅的文本风格(大小写、下划线的使用等),而不是实际的实现风格。