2012-07-28 15 views

Respuesta

6

Un cierre es una función que captura datos del entorno en el que se declaró.

int myVar = 0; 
auto foo = [&]() { myVar++; }; <- This lambda forms a closure by capturing myVar 
foo(); 
assert(myVar == 1); 

Una continuación es un concepto más abstracto, y se refiere a qué código se debe ejecutar después. Se puede implementar usando un cierre.

myTask = Task([]() { something(); }); 
myTask.then([=]() { myFoo.bar(); }); // This closure is the continuation of the task 
myTask.run();