【发布时间】:2011-04-08 17:23:12
【问题描述】:
每当我使用 STL 在 C++ 中实现某些东西时,我一直虔诚地使用 SGI 的 Standard Template Library Programmer's Guide (STLPG) 作为参考手册。直到昨天它从未让我失望,但昨天我在工作中使用 std::vector 并与我的一位同事结对编程,他告诉我使用 assign方法。我没有认识到这种对我来说很不寻常的方法,所以我开始深入研究 STLPG 的 std::vector 部分,并且没有提及任何分配方法。我的同事将我指向 cpluplus.com 的 std::vector 页面,你瞧,那里还有其他一些我从未见过的方法,例如 at。
这让我很困惑,所以我在这个问题上陷入了中世纪,并深入研究了 */usr/include/c++/4.1.2/bits/stl_vector.h*,这是 Hewlett-Packard Company 1994 和 Silicon Graphics Computer Systems, Inc 的版权. 1996 年,它包含了 assign 和 at 的实现,没有任何特别评论提及为什么在最近的版权所有者自己的文档中省略了它们。
有没有比我更老练的人来解释为什么会存在这些差异以及我可以相信哪个在线参考手册符合所有现代 STL 实施?
【问题讨论】:
-
std::vector 是一个 C++ 标准库组件。 STL 不同于 C++ 标准库。见this question。