[TCC-040] Programación Avanzada con C++
Este curso cubre conceptos clave como C++11 y C++14, la Standard Template Library (STL), tipos avanzados, expresiones lambda, punteros inteligentes, multihilos, sincronización y metaprogramación. Se profundiza en el uso de templates, smart pointers, y técnicas de programación paralela como async, future y promise.
Duración: 20 horas
Perfil: Avanzado
Dirigido a
Esta acción formativa va dirigida a programadores C++que quieran utilizar las nuevas características del lenguaje C++ introducidas en las versiones C++11 y C++14.
Requisitos previos
Los alumnos necesitarán tener experiencia con el lenguaje de programación C++, así como los conceptos de orientación a objetos.
Objetivos
Dominar las características de C++11 y C++14.
Utilizar la Standard Template Library (STL) para mejorar la eficiencia y flexibilidad del código.
Aplicar técnicas avanzadas de multihilos, sincronización y programación paralela.
Gestión de memoria con punteros inteligentes y entender los conceptos de smart pointers.
Explorar la metaprogramación y las plantillas en C++.
Contenido
Introducción a C++11 y C++14
Características destacadas de C++11 y C++14
Nuevas funcionalidades y mejoras en el lenguaje
Standard Template Library (STL)
Introducción a la STL
Uso de colecciones (vectores, listas, mapas)
Iteradores y su funcionamiento
Algoritmos comunes de la STL
Generación y manejo de números aleatorios
Tipos en C++11 y C++14
Nuevos tipos y mejoras en C++11/14
Conversión de tipos (casting) y tipos numerados (enum)
Uso de
typedefy clases enumeradas (enum class)Introducción y aplicación del tipo
autoCadenas literales (Raw Strings) y su utilidad
Expresiones Lambda
Sintaxis básica de expresiones lambda
Lambdas anidadas y punteros a funciones lambda
Uso de expresiones lambda para simplificar el código
Programación Concurrente (MultiThreading)
Conceptos de multihilos y programación paralela
Uso de
std::thready sincronización (mutex, lock)Funciones
future,promiseyasyncpara manejo de hilospackaged_tasky su relación con hilos
Punteros Inteligentes (Smart Pointers)
Introducción a punteros inteligentes en C++
Diferencias entre
auto_ptr,shared_ptr,weak_ptryunique_ptrUso adecuado de punteros inteligentes para gestionar la memoria
Plantillas y Metaprogramación
Funciones y clases con templates
Especialización de templates para casos específicos
Introducción a la metaprogramación en C+
Técnicas de programación avanzada utilizando templates
Documentación Recomendada
Effective Modern C++: 42 Specific Ways to Improve Your Use of C++11 and C++14
Scott Meyer
Diciembre 2014 | 336 páginas
ISBN: 9781491903995