- C++相談室 part120 [転載禁止]©2ch.net
932 :デフォルトの名無しさん[sage]:2015/12/03(木) 12:02:23.41 ID:4rUKwdGH - イベントが発生するとラムダをコールバックするような仕組みを実現したいです
登録はstd::functionのリストにラムダを突っ込めば簡単に出来ます しかし、キャプチャされているオブジェクトが死ぬとき、登録を削除しなければなりません 登録削除はどうしたらよいですか?
|
- C++相談室 part120 [転載禁止]©2ch.net
938 :デフォルトの名無しさん[sage]:2015/12/03(木) 12:28:16.53 ID:4rUKwdGH - リストの中に複数あるイベントコールバック用の関数オブジェクトの中から
どうやって自分を参照している削除対象の物だけを見つけ出したらよいんですか? どの関数オブジェクトが何をキャプチャしているか、後から調べる方法は無いですよね 登録時に関数オブジェクトをこっそり別に保存しておいて 削除するときは保存しておいた関数オブジェクトとリスト内の関数オブジェクトを比較して 自分が登録した関数オブジェクトを探すんですかね しかしstd::functionに突っ込んだラムダ同士を==で比較すると どういう比較のされ方をしますか? 同じソースコードから生成されたラムダでも、キャプチャの中身が違っていたら ==で比較したときに別物扱いになりますか?
|
- C++相談室 part120 [転載禁止]©2ch.net
940 :デフォルトの名無しさん[sage]:2015/12/03(木) 12:34:49.55 ID:4rUKwdGH - それとも自身のポインタ(this)と、登録したい関数オブジェクトを
std::pairでペアにして登録して 削除するときはthisを頼りに探すんですか?
|
- 動画プログラミング [転載禁止]©2ch.net
36 :デフォルトの名無しさん[sage]:2015/12/03(木) 13:18:46.42 ID:4rUKwdGH - DirectShowとかでレンダラを自作すれば出来るんじゃね?
Direct3D ワールドでの DirectShow ムービー https://msdn.microsoft.com/ja-jp/library/cc973423.aspx
|
- GCは失敗。メモリは自分で管理せよ! その2©2ch.net
148 :デフォルトの名無しさん[sage]:2015/12/03(木) 21:41:57.39 ID:4rUKwdGH - 別におかしくない
基準値が先にあって、それと比べてaがどうなのか、と考えるか aが先にあって、基準値と比べてどうなのか、と考えるかの違いでしか無いから どっちでも良い
|
- オブジェクト指向は愚かな考え。この世は計算式 [転載禁止]©2ch.net
490 :デフォルトの名無しさん[sage]:2015/12/03(木) 21:49:29.57 ID:4rUKwdGH - XPは人気のあったOSなので
皮肉にもなってないんだよな
|