Recomiende algunos buenos sitios web para aprender el lenguaje C++.
Estación BBS Shuimu Tsinghua
Algunos estudiantes me preguntaron cómo aprender bien C++. No tengo otra forma de darte. La única forma es estudiar e ir a la universidad.
Muchos libros pueden resolverlo. Será más fácil utilizar C++ como lenguaje cotidiano en lugar de como lenguaje de programación.
Alguien quiere volver a preguntarme ¿qué libro debo leer? ¿Qué hacer si no tienes tiempo?
Solo puedo decirte, si no tienes tiempo, no aprendas C++ y hagas lo que te gusta hacer. La vida es igual de hermosa sin
C++.
Si vas a aprender, debes aprenderlo bien, entonces haré una lista de libros, no debería ser un gran problema.
En primer lugar, debes leer El diseño y evolución de C++ de Bjarne Stroustrup para comprender
la historia de este lenguaje. Puedes leer otros libros a continuación, pero sigue mirando este libro para ver cómo las nuevas tecnologías que continúas aprendiendo se incorporan gradualmente a este lenguaje.
El primer libro varía de persona a persona. Si tienes una mejor base, puedes leer C++ Primer de Stanley B. Lippman. Este libro es muy grande. Deberías ponerle un asterisco. No es necesario leer algunos de ellos. Si la base no es muy buena, puedes leer Essential C++ de Stanley B.
Lippman es un libro mucho más ligero, pero cubre los cuatro paradigmas de C++ y
Y make. es muy claro.
El segundo libro debería detenerse en los aspectos técnicos, calmarse y leer The Practice
of Programming de Pike y Kernighan, y aclarar qué se debe incluir en la programación. Se puede decir que este
folleto muy delgado es una guía de lectura obligada para los programadores.
El tercer libro debería ser Thinking in C++ escrito por Bruce Eckel y traducido por Hou Jie. Tengo que volver a leer este libro cada
medio año. Se puede decir que cada capítulo invita a la reflexión. Este libro me hizo sentir.
La aplicación de la tecnología está a un nivel muy alto, pero el lenguaje es muy sencillo, siempre que lo leas con atención. Incluso si los conceptos básicos no son buenos,
p>
Definitivamente puedes entenderlo. Utilizo este libro cuando enseño (los estudiantes a los que me enfrento no tienen ningún conocimiento básico).
Si quieres llegar a un nivel superior, debes dar un paso más lento y primero dominar los buenos hábitos de diseño de C++. Este es el beneficio infinito que nos aportan el C++ efectivo y el C++ más efectivo de Scott
Meyers. Más
C++ efectivo no podía permitírmelo, así que tuve que gastar 10 yuanes para copiar y encuadernar un "libro encuadernado con hilos", que parecía una
Biblia de girasol ( ;-)). Estos dos libros son verdaderos clásicos. El dominio del autor en C++ hace que el estilo del lenguaje se lea tan dulce como si estuviera frente a ellos dando una conferencia. Tengo los CD originales de estos dos libros en mi mano. Si está interesado, puede enviar un correo electrónico a sjtu@263.net o enviar una nota a gaobo en Drinking Water Siyuan para solicitarlo. /p >
Grabaré el CD gratis. Si tiene un conocimiento profundo de C++ efectivo y
C++ más efectivo, entonces podrá descubrir que ya es el mejor entre otros. Puede guiar el funcionamiento del proyecto, puede escribir todos los programas que desee y puede señalar los problemas grandes y pequeños en los códigos de otras personas que se ven bien. Si puedes
decir de un vistazo que el código de alguien corresponde al "Artículo 27" o al "Artículo M6", entonces realmente me impresionarás.
Ya he dicho que si quieres escribir un programa, el nivel de EC++ y MEC++ es suficiente para que puedas afrontarlo. Sin embargo,
si aún no estás satisfecho. y quieres prestar atención a algunos aspectos teóricos. Si tienes dudas o quieres ver el código implementado, no debes perderte estos excelentes libros.
Me refiero al Exceptional C++ de Herb Sutter y más
Exceptional C++. Estos dos libros son muy difíciles. Tengo más de diez páginas de notas de lectura para cada uno. Especialmente en la parte de programación genérica, estos dos libros citan muchas referencias y discuten cosas en profundidad. Cada vez que entiendo un artículo, lo sudo una vez y me siento muy feliz. También está el análisis del código fuente STL de Hou Jie, que utiliza material real;
ejemplos para explicar paso a paso cómo se implementa un STL Acabo de empezar a leer y no comentaré y
Stanley B. Lippman, uno de los implementadores de Cfront, escribió Inside; el modelo de objeto C++
Solo tengo una palabra para describirlo, es básicamente asombroso. Aprendí innumerables detalles sobre la interpretación del código fuente por parte del compilador y los detalles de la asignación de memoria Jaja, los conozco, ¿a qué debería temer? Recientemente obtuve Meditaciones en C++ de Koenig, otro implementador de Cfront y el Comité de Estándares de C++. Se ve muy bien, lo recomiendo a todos aquí, pero aún no lo he terminado y no tengo derecho. para hablar.
Finalmente, ustedes, futuros teóricos de C++, deben recordar que El lenguaje de programación C++ de Bjarne Stroustrup
¡debe leerse cuatro o cinco veces pase lo que pase! Esta es la fuente de todos los libros de C++.
Si aún cree que no es suficiente, solicite una copia del estándar C++ al Comité de Estándares de C++.
No leas ningún libro escrito por autores de China continental (incluido el mío). No lea ningún libro sobre VC++ o
que hable sobre compiladores específicos. Si necesita compensar el curso de lenguaje C, compre una copia muy pequeña de The C
Programming Language de K&R. No lea ningún otro libro. No aprenda C primero y luego C++, aprenda C++ directamente
. No aprendiste chino clásico primero y luego la lengua vernácula, ¿verdad? Así que créeme, es más fácil simplemente venir.
Los textos anteriores son todos originales y estoy dispuesto a asumir la responsabilidad de cada palabra.
1. "STL efectivo"
Pedido:
Autor: Scott Meyers
Editorial: China Electric Power Press
Al principio, me acosaron porque este libro era relativamente delgado y quería terminarlo rápidamente, pero pronto descubrí que ya no podía pasar la página. No fue hasta que leí la última palabra que descubrí un hecho básico: no es este libro el débil, sino mi propio conocimiento.
También leí muchos libros sobre STL. Al igual que antes de leer "Effective C++", también leí muchos libros sobre C++. Los libros de Meyers siempre dan a las personas una sensación de mejora. Siempre puede descubrir nuevas ideas inesperadas en lugares que todos consideran clichés y señalar que, en realidad, existen varios peligros en algunas cosas que la gente común da por sentado.
O elegir el más efectivo (Most
Effective) para una ocasión específica entre algunas opciones aparentemente equivalentes. Y su punto de entrada siempre es comprensible (a diferencia del libro de Stroustrup,
La primera frase requiere mucho tiempo para reflexionar), pero siempre elige algunos puntos de expansión y se analizan en profundidad
En este momento, necesita leer código por código o incluso granularidad de declaración; por supuesto, siempre puede entenderlo al final, que es diferente del lector. El nivel de lectura siempre es directamente proporcional al nivel de lectura, lo que le dará a las personas una gran sensación de logro.
Se puede decir que no existe otro libro sobre la práctica de STL
(por supuesto, en términos de implementación de STL, todavía recomiendo el
"Análisis de código fuente STL" de Hou Jie a todos). ) 》).
Después de leer este libro, tengo una clara sensación de distanciamiento con Pascal. Aquí todavía quiero decir: ¡Por favor, amen a
Delphi! Sigo prefiriendo escribir "var s:set of char;" en lugar de
"set , allocator > s", ;-).
2. "Diseño moderno en C++"
Pedido (chino):
Pedido (fotocopia):
Autor: Andrei Alexandrescu
Traductor: Hou Jie, Yu Chunjing
Editor: Huazhong University of Science and Technology Press (chino)
China Electric Power Press (fotocopia)
Después de leer la primera página de este libro, supe que no podía dejarlo, pero también sabía que mi experiencia de sufrimiento se agregaría nuevamente.
Implementar patrones de diseño en C++ ya es extremadamente difícil, pero este libro obviamente todavía habla sobre el modelo de objetos de una plantilla. Este fue el caso cuando leí "Dentro del modelo de objetos de C++"
Dificultades que no se pueden superar. repetidamente. Sin embargo, inesperadamente, este libro me dio algunos conceptos y, de hecho, escribí un SmartPointer.
Estoy lejos de decir que entiendo este libro, pero definitivamente lo he terminado. Si no ha leído el libro Modelo de objetos y patrones de diseño, creo que es necesario. De lo contrario, leer este libro directamente sería una tortura. Recientemente,
algunos amigos también han notado la importancia de los patrones de diseño. Es posible que publique algunos
artículos en "Computer News" del próximo año. Me gustaría pedirles consejos a mis amigos. . Bar.
--