2011-03-14 19 views
52

¿Existe documentación para C++ en Linux? Quiero algo así como las páginas man de C. Por ejemplo, documentos para cadena, stl, iostream, ifstream, etc.?¿Dónde están las páginas man para C++?

+4

¿Usted está buscando un recurso * no * en el Internet? –

+1

Puede buscar la característica "C++ > La mayoría de las veces esto dará como resultado una página de cplusplus.com – quasiverse

+1

Si solo hubiera hecho una pregunta más específica, podríamos haberlo dirigido a lmgtfy. .. –

Respuesta

37

Si usa la libstdC++ "normal" incluida con g ++, su documentación está disponible en línea here.

La mayoría de las distribuciones de Linux también lo hacen disponible sin conexión como un paquete particular; para las distribuciones derivadas de Debian, por ejemplo, es libstdc++6-<version>-doc (por ejemplo, en mi máquina Ubuntu tengo libstdc++6-4.4-doc instalado). En general, la documentación se colocará en algún lugar como /usr/share/doc/libstdc++6-4.4-doc.

Esto acerca de implementación específica documentación; para los documentos independientes del compilador, en cambio, muchos sitios en Internet proporcionan documentación de referencia para la biblioteca estándar. Una de las más referenciadas es cplusplus.com, que sin embargo se sabe que contiene varios errores en su documentación; también the C++ library section on msdn.microsoft.com ha mejorado mucho en los últimos años al separar los detalles específicos de Microsoft de lo que dicta la norma.

Por último, si quieres precisión hasta la paranoia, el documento normativo final es the C++ standard, es decir sold from ISO, ANSI y BSI (por un precio bastante alto); sin embargo, hay varios borradores disponibles de forma gratuita, que son más que suficientes para un "uso casual".

+0

¡Gracias! Fue una respuesta perfecta a mi duda ... La estuve buscando durante mucho tiempo, pero no pude encontrar ninguna respuesta como esta ... – fpointbin

+15

IMO, la mejor referencia agnóstica del compilador es http://en.cppreference.com/ w/it is most accurate, y muestra si alguna característica dada es C++ 03 o C++ 11 –

+3

@FabioFracassi Sí, y en noviembre de 2014 se agregó a Ubuntu Vivid la versión fuera de línea de la documentación en cppreference.com: ' apt-get install cppreference-doc-en-html'. – zwets

1

Querrá prestar mucha atención a la versión de su compilador; en las distribuciones recientes de Linux es probable que use g ++ v4.3, o tal vez v4.4, pero algunas de las características más nuevas de C++ 0x están en g ++ v4.5, por lo que dependiendo de las funciones con las que esté jugando, puede ejecutar en cuestiones en ese frente.

5

instalar las páginas man:

$ sudo apt-get install libstdc++6-4.4-doc 
+0

Suponiendo que su distribución utiliza apt para la gestión de paquetes. –

+5

Solo por razones de precisión, estas no son páginas man, sino documentos HTML (colocados en '/ usr/share/doc/libstdC++ 4.4-doc'). –

9

cppman es un C++ formateador página de manual disponibles on Github.

A petición, genera páginas de manual de cplusplus.com, y es bastante bueno en eso. Sin embargo, el visor de la página de manual será cppman en lugar de hombre, y usted todavía necesita estar en línea.

+3

Ahora puede almacenarlos en caché para verlos fuera de línea. Tarda aproximadamente 20 minutos. – Dilawar

+0

Cppman tiene una opción (-m verdadero) para exportar sus documentos a man. –

+0

Y el comando para el almacenamiento en caché sin conexión, después de [installation1] (https://github.com/aitjcize/cppman/wiki/Installing-from-Ubuntu-PPA) o [installation2] (https://github.com/aitjcize/cppman # installation) es simplemente 'cppman -c' –

30

En Ubuntu, después de instalar libstdc++6-x.x-doc, estos documentos están disponibles a través man, ejemplos (libstdC++ - 4,8-doc)

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

Para obtener una lista de estas entradas, utilizar

apropos -r '^std' | vi - 

Este comando obtiene todas las entradas de hombre que comienzan con std y las envía al vi.

==========

actualización: a partir de libstdC++ - 4,8-doc, el prefijo es std:: en lugar de std_.

+0

Parece que no funciona en Ubuntu 12.04. Es decir. Instalé este paquete, pero sus comandos de ejemplo no dan las páginas de manual. – Ruslan

+1

@Ruslan He actualizado mi respuesta, el prefijo cambiado a 'std ::' en lugar de 'std_' – lazybug

+0

Funciona para mí en Ubuntu 16.04, usando la sintaxis' man std :: list'. – BeeOnRope

2

en RHEL 6 libstdc++-docs el paquete instala la documentación en /usr/share/doc y el hombre páginas:

sudo yum install -y libstdc++-docs

ahora puede: man std::string

por ejemplo.

Cuestiones relacionadas