- Haga más preguntas de "¿por qué sucede esto?" . Al aprender C++, debes plantearte más preguntas como "¿Por qué es esto?" y "¿Por qué debería ser así?". Por ejemplo: mucha gente sabe que C++ tiene un constructor de copias y una lista de inicialización, pero ¿sabes realmente por qué hay un constructor de copias? ¿Por qué necesitamos una lista de inicialización? ¿Por qué necesitamos una plantilla, por qué necesitamos RTTI y por qué no otra cosa? ¿Es sólo para hacer que un idioma sea más atractivo? Este no es el caso en absoluto. Cada característica de C++ tiene algunas razones reales. Debes comprender por qué C++ está diseñado así para que puedas aprender bien C++. Lea el libro "Evolución y diseño de C++" cuando tenga tiempo.
- Lea muchos libros de C ++ .
- Comparar con el lenguaje Java . Java ha realizado muchos ajustes, especificaciones y restricciones a C++, un lenguaje inmaduro. Entonces, compare Java y C++ y piense por qué algunas cosas se pueden hacer en C++ pero no en Java. Por ejemplo: se deben detectar las excepciones de Java; de lo contrario, la compilación fallará. ¿Por qué Java no proporciona sobrecarga de operadores? ¿Por qué Java introduce interfaces para herencia múltiple? ¿Por qué Java no tiene un flujo de caracteres de E/S como C++? ¿Por qué Java no admite punteros? ¿Por qué Java puede realizar la recolección de basura? etc. Java incorpora muchas cosas en el diseño orientado a objetos. Aprender Java le ayudará a aprender cómo utilizar mejor C++ para programar.
- Diseño orientado a objetos . La programación no puede centrarse en patrones de diseño, sino que debe desacoplarse mediante patrones de diseño.
- Aprendizaje en la biblioteca de clases . Mire cómo MFC encapsula la API de Windows, mire cómo ACE está orientado a objetos, mire cómo boost está orientado a objetos, mire cómo está diseñado CPPUnit, hay demasiados patrones de diseño en el JDK de Java, puede consultar .
Texto original: Cómo aprender bien el lenguaje C++ por Chen Hao CoolShell