2009-08-10 52 views
1

我在哪里可以看到std库中的所有可用方法?因为,我可以在我的程序中包括矢量,算法,我可以看到这个库的头文件/源文件,看看它是如何实现的?C++ std库中有哪些可用的方法,我可以在哪里看到/读取它们?

例如。我知道我们可以在vector中使用push_back()方法,但是我可以在哪里看到vector的所有方法,以及类似的其他库?

有没有关于它的文档?

我正在使用Ubuntu,如果这有帮助。

回答

4

如果你想出去检查源,看看到/usr/include目录/ C++/XX /矢量

你可能需要重定向你的研究在此目录中(你正在寻找在类depeding):/ usr/include目录/ C++/XX/

例如,类是一个typedef和底层类型为basic_string的您将在/usr/include/c++/x.x/ 比特查找/ basic_string的

2

这个网站有很多,你要寻找的东西:C++ STL Vector

有很多关于这一主题的书籍和网站。谷歌搜索的性病或STL库会给你一个链接世界

这里是containers

下面的列表是其他algorithms

2

CPP Reference

引用列表可能取决于有用您正在实施的平台(如Windows的MSDN

+0

无论您正在使用哪个平台,MSDN的引用都很好。它根据规范描述了该库,并明确标记了Microsoft特定的扩展。它比cppreference更完整更全面。com在我的经验 – jalf 2009-08-10 11:40:37

+0

我没有说它不完整 - 这就是为什么我把它放在那里 - 但它也包含MS特定的添加(这是不标准和不便携的 - 无论是平台之间,甚至在编译器在同一平台上)。 – 2009-08-10 11:51:11

3

Linux开发人员经常使用http://www.cplusplus.com作为文档来源。但要完全理解如何使用STL,我建议阅读Scott Meyers的Effective STL

还有一种方法是使用手册页。安装带有文档:

sudo apt-get install libstdc++6-4.2-doc 

之后,你就可以用命令man阅读文档:

man std::vector 
+0

非常好的提示!我在我的ubuntu盒子上安装它,6.4.3软件包版本似乎不包含任何man文件...?喜欢Jla3ep提到的6.4.2版本(稍后我会试试..) – 2009-08-10 14:11:43

+0

我刚刚在6.4.3上测试过它 - 它确实无法工作。 – 2009-08-10 15:05:00

2

Alexander Stepanov在惠普工作时创建了STL。 This是他工作的原始文档,现在在Sgi主持,可能是最常用的参考文献。

相关问题