Curso de programación Modern C++
(github.com/federico-busato)- Este curso está dirigido a personas que ya están familiarizadas con C y la programación orientada a objetos, y tiene como objetivo mejorar su dominio de la programación en C++
- Abarca desde los fundamentos de la programación en C++ hasta la semántica y los conceptos avanzados de C++
- Es gratuito, se actualiza con frecuencia, incluye conceptos y funciones del estándar más reciente del lenguaje, y adopta un enfoque de enseñanza práctico
Contenido principal de cada capítulo
- Conceptos básicos: explicación de los tipos básicos de C++, operadores, reglas de conversión, gestión de memoria, funciones y preprocesamiento.
- Programación orientada a objetos: comprensión del concepto de clases, herencia, polimorfismo y sobrecarga de operadores.
- Templates y metaprogramación: exploración en profundidad de templates de funciones y clases, utilidades en tiempo de compilación y SFINAE.
- Unidades de traducción: explicación sobre linkage, One Definition Rule y cómo manejar múltiples unidades de traducción.
- Convenciones de código: guía sobre organización de proyectos y principales convenciones de código.
- Ecosistema: información sobre depuración, pruebas, Cmake, documentación y otras herramientas.
- Utilidades: panorama general de las principales bibliotecas
std, contenedores, iteradores y algoritmos. - Temas avanzados: estudio más profundo de semántica de movimiento, deducción de tipos, smart pointers y concurrencia.
- Optimización: estrategias sobre conceptos básicos, optimización de código, optimización no relacionada con código y benchmarking.
Opinión de GN⁺
Este curso cubre todos los aspectos de la programación en C++, incluido el estándar más reciente del lenguaje, por lo que es un recurso esencial para que un ingeniero de software principiante evolucione hasta un nivel experto. Su enfoque práctico, basado en casos reales, ofrece a los estudiantes conocimientos útiles que resultan muy beneficiosos para mejorar sus habilidades de programación.
1 comentarios
Opiniones en Hacker News
El creador de este curso es líder de equipo en NVIDIA y principal ingeniero de software de CUDA cuSPARSE
He tenido mucho éxito usando ChatGPTv4 para escribir código moderno de C++ compatible con CUDA
std::*para escribir código más flexible.Volví a C++ después de un largo descanso, y las versiones recientes como C++17 son suficientemente buenas, pero el soporte de Unicode deja que desear
Como desarrollador embebido, estoy buscando buenos materiales para empezar a aprender C++
Me pregunto si hay alguien que pueda comparar este curso con learncpp.com
Sirve para retomar habilidades de C olvidadas desde la universidad, pero hace falta más práctica real de programación
Creo que aprender solo con diapositivas es difícil
Los smart pointers no deberían considerarse un "tema avanzado" en C++
newydelete, pero que en la práctica es preferible usarunique_ptroshared_ptr.Me pregunto si en el C++ moderno realmente hay que usar new/delete
Pide que le expliquen cómo leer la sección de reglas de conversión