82

Linux 中是否存在 C++ 文档?我想要 C 的手册页之类的东西。例如,字符串、stl、iostream、ifstream 等的文档?

4

8 回答 8

59

如果您使用 g++ 附带的“普通”libstdc++,其文档可在此处在线获得。

大多数 Linux 发行版都可以将其作为特定软件包离线使用。例如,对于 Debian 派生的发行版,它是libstdc++-6-<version>-doc(例如在我libstdc++-6-4.4-doc安装的 Ubuntu 机器上)。一般来说,文档会放在类似/usr/share/doc/libstdc++-6-4.4-doc.

这是关于特定于实现的文档;相反,对于与编译器无关的文档,Internet 上的许多站点都提供标准库的参考文档。

现在引用最多的网站之一是cppreference.com,它得到了积极的维护,往往非常忠实于标准,并且很好地展示了各种标准版本之间的差异;不过,这对新手来说可能有点吓人。

cplusplus.com 在历史上是最常用的网站之一(特别是因为它非常被搜索引擎“喜欢”),但已知包含几个错误或不正确的简化;不知道这几年有没有好转。

此外,近年来,msdn.microsoft.com 上的 C++ 库部分在将 Microsoft 特定的细节与标准规定的内容区分开来方面做得更好。

最后,如果您想要精确到偏执狂,最终的规范文件是C++ 标准从 ISOANSIBSI出售(价格相当高);然而,有几个草稿是免费的,对于“临时使用”来说已经足够了。

于 2011-03-14T01:13:04.133 回答
40

在 Ubuntu 中,安装后libstdc++-6-x.x-doc,这些文档可通过man示例(libstdc++-4.8-doc)获得

man std::list
man std::weak_ptr
man std::ios_base

要获取这些条目的列表,请使用

apropos -r '^std' | vi -

此命令获取所有以开头的 man 条目std并将它们发送到vi.

==========

更新:从 libstdc++-4.8-doc 开始,前缀std::std_.

于 2013-10-31T12:12:07.510 回答
13

cppman 是Github 上提供的 C++ 手册页格式化程序。

根据要求,它会从 cplusplus.com 生成联机帮助页,并且非常擅长。不过,您的联机帮助页查看器将是 cppman 而不是 man,而且您仍然需要在线。

于 2012-08-07T09:16:46.570 回答
7

安装手册页:

$ sudo apt-get install libstdc++6-4.4-doc
于 2011-03-14T01:15:20.563 回答
6

C++ 标准库记录在http://www.cplusplus.com/reference/上。您的实现可能会带来它自己的文档。例如,来自 GNU Compiler Collection 的 libstdc++ 记录在http://gcc.gnu.org/onlinedocs/libstdc++/中。查看特定库的源代码分发,以了解文档是否以及在哪里。

于 2011-03-14T01:10:12.400 回答
3

在 Ubuntu 上,可在包cppreference-doc-en-html (HTML) 和cppreference-doc-en-qch(Qt 帮助格式)中获得http://cppreference.com上优秀文档的离线副本。

安装:

sudo apt-get install cppreference-doc-en-html
于 2015-10-09T06:54:17.950 回答
2

在 RHEL 6 上,软件包在AND 手册页libstdc++-docs中安装文档:/usr/share/doc

sudo yum install -y libstdc++-docs

现在我能: man std::string

例如。

于 2015-03-12T03:43:10.083 回答
1

您需要密切注意编译器的版本;在最近的 linux 发行版上,您可能使用 g++ v4.3 或 v4.4,但一些较新的 C++0x 功能在 g++ v4.5 中,因此根据您正在使用的功能,您可以运行进入这方面的问题。

于 2011-03-14T01:12:49.640 回答