Volver a los cursos
AI013 Professional

Tutorial de C++ Moderno

Este tutorial tiene como objetivo proporcionar a los desarrolladores con experiencia una referencia rápida de las nuevas funciones de C++11/14/17/20. Cubre mejoras en la usabilidad del lenguaje, mejoras en tiempo de ejecución, nuevos contenedores, punteros inteligentes y gestión de memoria, expresiones regulares, programación concurrente y una vista previa de C++20.

4.8
30.0h
318 estudiantes
2 me gusta
Inteligencia Artificial
Comenzar a aprender

Descripción del curso

📚 Resumen del contenido

Esta guía está diseñada para proporcionar a desarrolladores experimentados una referencia rápida sobre las nuevas características de C++11/14/17/20. El contenido abarca mejoras en usabilidad del lenguaje, mejoras en tiempo de ejecución, el uso de nuevos contenedores, punteros inteligentes y gestión de memoria, expresiones regulares, programación concurrente y una vista previa de C++20.

Ponete al día rápidamente con C++11/14/17/20 y atraviesa la puerta de entrada a la programación moderna en C++.

Autor: 欧长坤 (Ou Changkun)

Agradecimientos: Licenciado bajo la licencia CC BY-NC-ND 4.0, gracias a todos los colaboradores de GitHub y al apoyo de la comunidad relacionada.

🎯 Objetivos de aprendizaje

  1. Identificar y verificar el entorno del compilador de C++ y la arquitectura objetivo utilizando herramientas de línea de comandos.
  2. Explicar la compatibilidad estándar y la historia de solapamiento entre C (C89, C99, C11) y C++ (C++98, C++1x).
  3. Implementar enlaces cruzados entre lenguajes mediante encabezados extern "C" y flujos de compilación de múltiples etapas.
  4. Resolver ambigüedades de punteros usando nullptr e implementar lógica de tiempo de compilación mediante constexpr y if constexpr.
  5. Simplificar declaraciones complejas usando auto, decltype y alias de tipo (using), asegurando un diseño orientado a objetos robusto con override y final.
  6. Diseñar código altamente genérico utilizando plantillas variádicas, expresiones de plegado y deducción de parámetros de plantilla no tipo.
  7. Definir e implementar expresiones Lambda usando diversos modos de captura (Valor, Referencia, Expresión y Genérica).
  8. Utilizar std::function y std::bind para crear envoltorios flexibles de funciones y aplicaciones parciales de funciones.
  9. Clasificar expresiones en Lvalues, Prvalues y Xvalues, y aplicar Semántica de Movimiento para optimizar la gestión de recursos de clases.
  10. Diferenciar entre los modelos de memoria y casos de uso de std::array (tamaño fijo, pila) y std::vector (tamaño dinámico, montículo).

Lecciones