Cómo aprender C++ por tu cuenta para convertirte en programador
1. Lenguaje C/C++
Si su base es muy pobre, se recomienda no comenzar a aprender el lenguaje C++. Empiece a aprender del lenguaje C para tener una comprensión preliminar del programa. y proceder paso a paso. Compre un libro en lenguaje C con menos de 300 páginas, ingrese cada ejemplo del libro en Visual Studio a través del teclado y luego ejecútelo paso a paso, depure línea por línea y vea el valor de cada variable. Luego puede depurar línea por línea y ver el valor de cada variable. O agregue su propia declaración printf para imprimir el valor de la variable. De esa manera, cuando termine de estudiar este libro, sentirá como si estuviera escribiendo un pequeño programa.
Recuerda, no seas perezoso y creas que eres lo suficientemente inteligente como para leer este libro sin escribirlo ni copiarlo directamente desde un CD. El precio de la pereza es que pasarás más tiempo aprendiendo. Al final, no podrás aprender, tu confianza en ti mismo se verá muy afectada y no querrás volver a aprender el programa nunca más.
Después de leer el libro en lenguaje C, puedes comprar un libro en C++. Lo mismo ocurre con los libros de C++. Deben tener menos de 300 páginas. No intentes aprender un buen libro como "Introducción a la edición china de C++" porque es demasiado grueso y es posible que no tengas la confianza para terminarlo. Tengo mucha confianza, no vale la pena pasar un año viéndolo todo. Se necesita un año para leerlo, aunque tengas mucha confianza, no vale la pena. Este libro clásico y grueso es adecuado para buscar información, pero no para una lectura detallada.
Sin embargo, todavía quiero recordarles a todos que deben escribir los ejemplos del libro en la computadora uno por uno e implementarlos paso a paso. No copie del CD, asegúrese de hacerlo paso a paso.
Después de practicar estos dos libros, comprenderá mejor C/C++ y podrá entrar en detalles.
En segundo lugar, aplicaciones con interfaces
Aprender el lenguaje C/C++ en sí puede no darte una sensación de logro después de todo, todos son programas de consola que siempre generan cadenas de cadenas. Frente a la caja negra todo el día, la sensación de logro no es tan buena. Sería fantástico si pudieras conseguir un programa de interfaz de usuario.
Depende de tus ambiciones personales. Si sigues la ruta de Microsoft, entonces debes aprender MFC; si quieres seguir la ruta del código abierto, existen muchas bibliotecas de interfaz multiplataforma de código abierto.
Una biblioteca común y sencilla es wxWidget, y su sitio web oficial es www.wxwidgets.org/. Puede descargarlo, mirar los ejemplos, colocar el programa de ejemplo en su estudio visual para depurarlo, ver qué sucede e intentar modificar el ejemplo para agregar botones, responder a eventos de botones, etc.
Enhorabuena por llegar a este punto, puedes dibujar una pequeña aplicación con una interfaz.
3. Aplicaciones de red
Una vez que comprenda el idioma, también podrá utilizar programas de interfaz de usuario. A continuación, deberá aprender a utilizar Internet. Comprender Internet le ayudará a comprender Muchos programas son útiles. ¿Pero por dónde empezar con las aplicaciones web?
Déjame decirte que comienza con el libro "Programación de redes UNIX". Este libro puede enseñarte los principios subyacentes de los sockets de red. Después de aprender el ejemplo anterior, escribe un servidor de respuesta. Escribe un servidor y escribe un cliente. Asegúrese de aprender a elegir este modelo de reutilización simple en el lado del servidor, para que pueda profundizar lentamente en los aspectos internos de poll, epoll, IOCP y otros modelos.
4. Operaciones de archivos
Todos los programas utilizan básicamente operaciones de lectura y escritura de archivos. Windows tiene su propia API de operación de archivos, como CreateFile, DeleteFile, etc. API de operación de archivos, los principiantes pueden aprender las funciones de operación de archivos del lenguaje C estándar, ¡es simple y fácil de aprender! Multiplataforma. Hay solo algunas funciones, también puedes aprender a dividir tres por cinco y dividir por dos, fopen, fclose, fread, fwrite, seek, ftell son solo algunas.
En quinto lugar, comprenda profundamente la relación entre la memoria y los punteros.
Como programador de C/C++, desde el primer día de aprendizaje del programa, debe estar familiarizado con la asignación de memoria y las operaciones de lanzamiento. . Debe comprender la relación entre la memoria y los punteros.
Para entenderlo, consulte varios ejemplos clásicos incluidos en "Programación de calidad C/C++". Si comprende estos ejemplos correctamente, básicamente podrá comprender cómo funciona.
Sexto, estudie cuidadosamente el código fuente de Apache
El aprendizaje de programas no es especialmente un programa C/C++. No se puede hacer en tres años. Un programa C/C++ se puede hacer en tres años. Es un proceso desde el cambio cuantitativo hasta el cambio cualitativo. Tres años de experiencia práctica en proyectos pueden brindarle acceso al esqueleto necesario para una aplicación completa. Sin embargo, el código que escriba en esta etapa puede estar lleno de lagunas, fallar y tener una eficiencia operativa deficiente. Si mira hacia atrás el código que escribió hace un año, es posible que se sienta disgustado y no pueda soportarlo. No importa, este sentimiento es algo que todo joven que progrese tendrá. Para mejorar tus habilidades de codificación, aún necesitas aprender de los expertos. Quizás quieras preguntar si los compañeros de la empresa son normales y los buenos están dispuestos a decírmelo. No importa, el código fuente abierto es la mejor manera de aprender como un maestro. El código fuente abierto es un secreto de práctica dejado por un maestro. Cuando lo leas, de repente te darás cuenta de que tu propio nivel está demasiado atrás. . ¿Por qué recomiendo el código fuente de Apache?
El código fuente de Apache está escrito por maestros y su eficiencia de ejecución y estructura del programa son excelentes. Muchas de las ideas son comunes a todos los programas. Si comprende estas ideas, puede utilizar directamente muchos de los módulos. El uso que hace Apache de grupos de memoria, grupos de subprocesos y encapsulación de estructuras de módulos es muy práctico. Si puedes comprender completamente el código fuente de Apache y comprender cada detalle y por qué implementan estas cosas, puedo decirte: "Felicitaciones, no estás lejos del maestro legendario".
7. C++ bien
Lo que dije anteriormente se trata básicamente de practicar C. Para practicar bien C++, se necesitarán otros 3 años de arduo trabajo para convertirse en un maestro de C++. C ++ es demasiado profundo y la más complicada es la idea de programación generalizada. No creas que escribir una clase de plantilla se considera programación generalizada. Si observa el código fuente de STL y el código fuente de Boost, comprenderá cuán vasta y profunda es la programación genérica. Para practicar C ++, puede comenzar con MFC y wxWidget encapsulados en C ++ para ver cómo los expertos encapsulan una biblioteca de interfaz de usuario tan grande a través del lenguaje C ++. Aquí se utilizan muchos mecanismos de C ++, el más típico es el mecanismo polimórfico y hay muchos patrones de diseño. se puede aplicar al aprendizaje.
8. Estudio en profundidad de los patrones de diseño
Los patrones de diseño son el alma de la programación y un método universal cuando te enfrentas a un proyecto a gran escala, cómo diseñar un sistema flexible. es una habilidad que un analista de sistemas debe dominar. Al aprender patrones de diseño, debes combinarlos con el proyecto real.