2012-07-28 5 views
6

클로저와 연속의 차이점을 설명해 주실 수 있습니까? 위키피디아의 해당 기사는 실제로이 둘의 차이점을 비교하지 않습니다.클로저와 연속 간의 차이

답변

6

클로저는 선언 된 환경의 데이터를 캡처하는 함수입니다.

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

연속은 더 추상적 인 개념이며 이후에 어떤 코드가 실행되어야 하는지를 나타냅니다. 클로저를 사용하여 구현할 수 있습니다.

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