2012-07-28 13 views
6

閉鎖と継続の違いを教えてもらえますか?ウィキペディアの対応する記事は実際には2つの違いを比較しません。閉包と継続の違い

答えて

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(); 
関連する問題