- 743 名前:デフォルトの名無しさん (ワッチョイ f35b-tpgq) mailto:sage [2017/03/19(日) 02:14:29.60 ID:7dJ8iAqk0.net]
- 誰かと思えば>>678か。
じゃあついでに言っておくと、以下だね。 callbacks.push_back([&]{a.func();}); // (O) クロージャ作成が無駄 callbacks.push_back(a->func)); // (P) この書き方は現在出来ないが、こっちの方がいい JavaScriptでは(O)は無駄だとされる。クロージャが余分にメモリを食うから。 クロージャ無しで書けるならその方がいい。コード領域も無駄だし。 これはC++も同じだし、C++の方が厳しいはずだが。 とはいえstd::bindの仕様が重すぎるのでこちらもイマイチだ。 C++ならどっちが重いかは微妙だね。 なおJavaScriptのbindは「前から順に固定される」だけの仕様なので、 固定した引数分のデータ領域しか各bindインスタンスには必要ない。 というかC++のbindが妙にリッチな仕様なのが謎だが。C++っぽくない。
|

|