Referencias Bibliográficas: [Stroustrup, 2013,Josuttis, 2019,Vandevoorde et al., 2017b]
Temas
- Expresiones lambda y evaluación:
- Enlace (binding) de variables y reglas de ámbito (scope).
- Paso de parámetros.
- Expresiones lambda anidadas y orden de reducción.
- Clausuras (closures) de funciones (funciones que usan variables en el entorno léxico circundante):
- Significado y definición básica: crear clausuras en tiempo de ejecución capturando el entorno.
- Idiomas canónicos: devoluciones de llamada (callbacks), argumentos para iteradores, código reutilizable mediante argumentos de funciones.
- Usar una clausura para encapsular datos en su entorno.
- Evaluación diferida (lazy) vs ansiosa (eager).
- Técnicas de metaprogramación con plantillas.
- SFINAE (Fallo de Sustitución No es un Error).
- Reenvío perfecto y referencias universales.
- Plantillas variádicas.
- Cómputo en tiempo de compilación con constexpr.
Aprendizaje esperado (Learning Outcomes)
- Desarrollar funciones útiles que tomen y devuelvan otras funciones [Usar]
- Interpretar correctamente las variables y el ámbito léxico en un programa que usa clausuras de funciones
[Evaluar]
- Usar mecanismos de encapsulación funcional como clausuras e interfaces modulares [Usar]
- Aplicar SFINAE para selección de plantillas y
resolución de sobrecarga [Usar].
- Implementar reenvío perfecto para paso eficiente de
argumentos [Usar].
Generado por Ernesto Cuadros-Vargas , Sociedad Peruana de Computación-Peru, basado en el modelo de la Computing Curricula de IEEE-CS/ACM