/
[TCC-040] Programación Avanzada con C++

[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

  1. Introducción a C++11 y C++14

    1. Características destacadas de C++11 y C++14
    2. Nuevas funcionalidades y mejoras en el lenguaje
  2. Standard Template Library (STL)

    1. Introducción a la STL
    2. Uso de colecciones (vectores, listas, mapas)
    3. Iteradores y su funcionamiento
    4. Algoritmos comunes de la STL
    5. Generación y manejo de números aleatorios
  3. Tipos en C++11 y C++14

    1. Nuevos tipos y mejoras en C++11/14
    2. Conversión de tipos (casting) y tipos numerados (enum)
    3. Uso de typedef y clases enumeradas (enum class)
    4. Introducción y aplicación del tipo auto
    5. Cadenas literales (Raw Strings) y su utilidad
  4. Expresiones Lambda

    1. Sintaxis básica de expresiones lambda
    2. Lambdas anidadas y punteros a funciones lambda
    3. Uso de expresiones lambda para simplificar el código
  5. Programación Concurrente (MultiThreading)

    1. Conceptos de multihilos y programación paralela
    2. Uso de std::thread y sincronización (mutex, lock)
    3. Funciones future, promise y async para manejo de hilos
    4. packaged_task y su relación con hilos
  6. Punteros Inteligentes (Smart Pointers)

    1. Introducción a punteros inteligentes en C++
    2. Diferencias entre auto_ptr, shared_ptr, weak_ptr y unique_ptr
    3. Uso adecuado de punteros inteligentes para gestionar la memoria
  7. Plantillas y Metaprogramación

    1. Funciones y clases con templates
    2. Especialización de templates para casos específicos
    3. Introducción a la metaprogramación en C+
    4. 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

http://shop.oreilly.com/product/0636920033707.do

Related pages