回答編集履歴
1
callbackの分類
answer
CHANGED
@@ -11,4 +11,17 @@
|
|
11
11
|
ただcallbackを多用すると可読性が下がるので、future/thenだったりコルーチンだったりといろいろ工夫して同期処理とあまり変わらない見た目でコードを書こうという動きがC++に限らずJavaScriptなどでもあります。
|
12
12
|
|
13
13
|
とりあえずcallbackと戯れたい、ということだったらJavaScriptとJQueryでajax通信してみるといいと思います。
|
14
|
-
http://qiita.com/yumetodo/items/00b37234cb86e741f0fb
|
14
|
+
http://qiita.com/yumetodo/items/00b37234cb86e741f0fb
|
15
|
+
|
16
|
+
|
17
|
+
さて、ようやく本題。
|
18
|
+
|
19
|
+
callbackの使う場面は大きく2つ。
|
20
|
+
|
21
|
+
1. 非同期処理
|
22
|
+
2. アルゴリズム系関数に渡す(大小比較の条件(sort系関数)とか一致条件指定(std::all_of系関数)とか)
|
23
|
+
|
24
|
+
この2つではcallbackの役割が大きく異なります。前者は処理の流れそのものをcallbackが担うのに対し、後者はある概念で処理を共通化した時(ソートとか)共通化できなかった部分をcallbackに追い出す、というものになります。
|
25
|
+
この役割の違いは、callback関数の長さにダイレクトに影響してきます。
|
26
|
+
|
27
|
+
前者の場合callback関数自体が長くなることが多いのに対し、後者の場合、一行からせいぜい10行程度で収まることが多いです。
|