Programación avanzada C++ - Fundación Universidad Carlos III

Programación avanzada en C++

C++11 / 14 / 17
Curso presencial
Campus Puerta de Toledo
Fechas de la próxima edición: Por confirmar

C++11, C++14, y más recientemente, C++17 han supuesto una revolución para muchos desarrolladores de software. Las nuevas revisiones del estándar permiten escribir código más fácil de mantener, al mismo tiempo que contienen sensibles modificaciones que afectan al rendimiento de las aplicaciones.

La mayoría de los compiladores han incorporado ya totalmente C++11 y C++14, así como una buena parte de C++17. Estas novedades de C++, incluidas en el curso, afectan la definición del lenguaje de programación, la nueva biblioteca estándar y el modelo de concurrencia del lenguaje.

Objetivos & Matrícula

El curso abarca las principales novedades que ofrece C++11, C++14 y C++17, y cómo pueden usarse para mejorar el desarrollo de software.

Se estudiará el impacto de estas novedades sobre el rendimiento y la facilidad de mantenimiento del software; los cambios más útiles para desarrolladores de aplicaciones y de bibliotecas; las oportunidades y limitaciones que ofrece C++11 para el desarrollo de aplicaciones concurrentes de forma portable.

Además se obtendrá una visión inicial de los próximos cambios previstos en las revisiones del estándar de C++ (C++20 y especificaciones técnicas).

Dirigido a desarrolladores con experiencia en el desarrollo en C++98/03 interesados en el paso a C++11/14/17. Los asistentes deberían tener experiencia en el uso de las principales características de C++98/03, con especial énfasis en programación genérica, así como en el uso de la biblioteca estándar.

Aquellas personas interesadas en matricularse deberán cumplimentar el formulario de inscripción y enviar su CV a formacion@fund.uc3m.es

Precio del curso: 490€

*Bonificable por Fundae

Lo que vas a aprender durante el curso

De 9 a 13h y de 14 a 18h
Parte I: Lenguaje

Generalidades y Sistema de tipos Preprocesador / Aserciones en tiempo de compilación / Nuevos tipos primitivos / Puntero nulo / Caracteres Unicode / Inferencia de tipos / Bucles basados en rango / Nuevos enumerados / Nuevas conversiones contextuales / Separadores de dígitos en literales / Literales binarios

Iniciación Sintaxis uniforme de iniciación: Iniciación no uniforme / Iniciación uniforme / Semántica de iniciación uniforme / Variaciones sintácticas / Iniciación y estrechamiento Listas de iniciación: Extensión de iniciación uniforme / Constructores de lista de iniciación / Listas de iniciación como parámetro / Listas de iniciación y sobrecarga / Listas de iniciación y auto

Desarrollo de clases Semántica de movimiento/ Especificación noexcept / Constantes en tiempo de compilación: constexpr / Requisitos relajados para constexpr / Funciones miembro por defecto y eliminadas / Iniciación de miembros no estáticos / Iniciación de miembros agreagados / Constructores delegados y constructores heredados / Operadores explícitos de conversión / Control de herencia: override y final / Atributo [[deprecated]].

Novedades globales Espacios de nombre en línea / Sintaxis sufija de funciones / decltype y declval / Deducción de tipo de retorno y decltype(auto) / Literales definidos por el usuario / Uniones generalizadas / Asignación de memoria optimizada / Liberación de memoria con tamaño

Soporte a programación genérica Expresiones lambda / Capturas con iniciación / Expresiones lambda genéricas / Plantillas externas / Alias de plantilla y alias de tipos / Plantillas de variable / Clases locales y argumentos de plantilla / Plantillas con número variable de argumentos

Profesorado

José Daniel García

Profesor Titular de Arquitectura y Tecnología de Computadores de la Universidad Carlos III de Madrid

Es profesor titular de Arquitectura de Computadores en la Universidad Carlos III de Madrid. Ha sido investigador visitante en la Universidad de Modena (Italia) y Profesor Visitante en la Universidad de Texas A&M (USA), donde estuvo trabajando con el Prof. Bjarne Stroustrup, creador del lenguaje C++. Así mismo, durante años ha trabajado en la industria desarrollando proyectos que hacían uso del lenguaje C++ en los sectores como la ingeniería civil, tecnología médica o el  aeroespacial.

Ha liderado la participación de la UC3M en proyectos financiados por la Comisión Europea para la la transformación de aplicaciones C++ para su ejecución en arquitecturas paralelas heterogéneas (REPARA) y la mejora los métodos de desarrollo de software para sistemas multi-core (RePhrase). Así mismo, ha desarrollado proyectos de colaboración entre la UC3M y empresas nacionales para la mejora de software desarrollado en C++ en sectores como las finanzas o la energía.

Es el presidente del comité español de normalización del lenguaje C++ (AENCTN71/SC22/GT21). Así mismo, desde 2008 representa a España en el comité internacional de normalización de C++ (ISO/IEC JTC1/SC22/WG21), donde ha participado en la elaboración de los estándares C++11, C++14 y C++17 habiendo realizado contribuciones a los mismos. Es autor de una de las principales cambios en el próximo C++20 para dar soporte a la programación basada en contratos.

Menú

Esta web utiliza cookies propias y de terceros para analizar su navegación y ofrecerle un servicio más personalizado acorde a sus intereses. Continuar navegando implica la aceptación de nuestra política de cookies

ACEPTAR
Aviso de cookies