Pregunta

La última vez que muy usada C ++ fue hace años, y fue hecho estrictamente en la plataforma Windows. En concreto, utilicé Microsoft Visual Studio como mi IDE y desarrollado algunos patrones habituales de utilizar la versión C ++ de Microsoft. Por ejemplo, he utilizado void main () en lugar de la norma int main () .

Ahora, estoy tomando una clase en la que se requiere para desarrollar programas para ser compatible con ANSI C ++ y el código se compila utilizando g ++. Aprendí rápidamente que sistema ( "PAUSE") no funciona en g ++ y es probablemente una cosa Microsoft.

¿Alguien sabe de alguna buena recursos (sitios, tutoriales, libros) donde puedo aprender lo más que sea mejor ANSI C ++ queja?

Gracias.

¿Fue útil?

Solución

Yo recomendaría estos dos:

  • comp.lang.c ++ de noticias de Usenet. Si puede hacerse con un buen proveedor de servicios de Usenet, y utilizar un lector de noticias, usted debería ser capaz de deshacerse del spam. Yo uso eternal-september.org , y me gusta mucho.
  • C ++ FAQ . Tiene una gran cantidad de información.

Por supuesto, los dos no son muy grandes si quieres un tutorial de introducción a C ++, pero parece que ya sabe un poco de C ++, y necesita aprender más, y corregir los malos hábitos. Desde mi experiencia personal, los dos anteriores son de gran utilidad para hacer exactamente eso.

Sobre comp.lang.c++, asegúrese de leer completamente su FAQ y acecho allí un rato antes de la publicación. Lo mismo se aplica a stackoverflow por supuesto, a pesar de que está al acecho puede no ser necesario en este caso.

El uso de g++, compilar sus programas con g++ -ansi -pedantic -Wall -Wextra -Weffc++, y asegúrese de entender todas las advertencias. Yo uso:

g++ -Wextra -Wall -Weffc++ -ansi -pedantic -Woverloaded-virtual \
-Wcast-align -Wpointer-arith

Otros consejos

Si está utilizando g ++, a continuación, compilar con la -pedantic y -std = c ++ 98 banderas. La única norma para ANSI C ++ es realmente el documento de la norma ISO, que no puede ser recomendado para un principiante. Se equivoca sobre el sistema ( "PAUSE"), por cierto - el sistema () es parte de la norma ANSI C ++ - es el parámetro no está estandarizado, sin embargo

.

La mayoría de los libros de C ++ será independiente de la plataforma (por supuesto, a menos que se hacen específicamente para Visual C ++). Éstos son algunos buenos libros que son recomendados por los profesionales en ## C ++

CCG va a hacer un buen trabajo de decirle cuando el código no es compatible con la norma ISO C ++ (no que se trata de una norma ISO, no es un estándar ANSI). Establecer las opciones de alerta -Werror -Wall, y simplemente fijar todas las advertencias; pronto a salir de hábitos no conformes y ger cada vez menos advertencias.

Hay un montón de buenos tutoriales gcc, tiene una bandera que se asegurará de que el código es compatible con ANSI C también, gcc -ansi -Wall -fsyntax-only -pedantic

* Wall - turn on all errors
* ansi - use strict ANSI C specification
* fsyntax-only - only checks syntax
* pedantic - reject violations

Per, comentarios además se puede utilizar     * -Wextra para encender algunas advertencias adicionales,

actualización gracias por la actualización en la capitalización., Y la mención de -pedantic

Muchos de los seguidores de gcc.

Las banderas importantes para compilar con bajo Visual Studio para ser tan estricta como sea posible son los siguientes:

cl /Za /W4 ...rest of command...

/ Za inhabilita extensiones específicas de Microsoft y / W4 es el nivel más alto de advertencia (excepto / Wall, que se queja sobre cosas ridículas).

También recomiendo que utilice una versión moderna de Visual Studio - versiones antiguas (VC6) eran ridículamente no conforme, y Microsoft finge oficialmente nunca existieron en este punto

.

Yo recomendaría.

sitios web:

libros:

  • C ++ eficaz
  • STL efectiva
  • moderna c ++ diseño
  • plantilla metaprogramming

Hablar / escuchar a los expertos y la comprensión de lo que tienen que decir y por qué.

C ++ Primer (4ª edición) parece ser el mejor libro para principiantes en estos días, ya que toma un enfoque moderno y enseña todas las partes importantes de la lengua. Acelerada ++ C es otro libro a menudo recomendado por los profesionales y sirve como una buena introducción, pero que no recomendaría la compra de más porque C ++ Primer muy bien lo reemplaza y cubre mejor el idioma.

Nota: C ++ Primer Plus (que es más bien un mal libro) no tiene nada que ver con C ++ Primer

.

El C ++ Programming Language de BS siempre hay que mencionar, por supuesto, porque está escrito por el padre de la lengua. Para muchas personas es esclarecedor, pero yo personalmente no lo recomendaría para el aprendizaje del idioma.

Todos los libros que describen sólo se menciona la norma ISO sin extensiones no estándar. Los programas en estos libros deben trabajar con cualquier compilador de C ++.

Me gusta visitar www.cplusplus.com cada vez que tengo una duda, especialmente acerca de la biblioteca estándar de C ++.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top