質問するログイン新規登録

回答編集履歴

1

callbackの分類

2016/04/05 07:57

投稿

yumetodo
yumetodo

スコア5852

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行程度で収まることが多いです。