Promesas I: ¿Qué es una clausura?
Las clausuras son funciones que recuerdan sus entornos léxicos. Un entorno léxico es el ámbito en el que se declaró una función.
std::function<std::string()> parent(const std::string& value) {
return [value]() { return value; };
}
auto remember = parent("remembers me");
remember(); // "remembers me"Aunque value parece haber desaparecido después de que parent retorna, la función devuelta aún recuerda su valor.
- Corrige la función
greetingMakerproporcionada para que devuelva una función que recuerde el saludo proporcionado. - Cuando esa función devuelta recibe un nombre, devuelve
"salutation, name".
Ejemplo
auto greeting = greetingMaker("Hello");
greeting("James"); // "Hello, James"Notas
Consulta la pestaña Recursos para obtener más información sobre las clausuras.