2012-07-28 21 views

Odpowiedz

6

Zamknięcie to funkcja przechwytująca dane ze środowiska, w którym została zadeklarowana.

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

Kontynuacja jest bardziej abstrakcyjne pojęcie, i odnosi się do tego, co kod powinien być wykonany później. Można go zrealizować za pomocą zamknięcia.

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