私は C++ でいくつかのコーディングを行っていますが、言語に同様のものが存在する場合、いつものようにいくつかの「考え」があります...
私は今、オブジェクトがパラメーターとして渡されることに疑問を持っています。
私がいつもしていることは、新しいオブジェクトを作成し、そのインスタンスを次のようにポインターとして渡すことです。
mObject* obj1 = new mObject();
obj1->callback(the_callback_function);
function_that_needs_obj(obj1); // (or the reference, if I didn't instantiated a pointer).
これで問題ありません。問題ありません。しかし、Java を使用していたので、次のようにしていました。
function_that_needs_obj(new mObject(){
public void onCallback(){
// Custom code enters here....
}
});
このようなC++での使用の「並べ替え」はありますか? 私が作成する必要がある各コールバックのために:1つExtended class
、または1つfunctionNamedVeryLongBecauseThereAreMany
をコードのTOPに記述する必要があり、そのようなものはコードを多く「混乱」させます...
またthis
、FUNCTION コールバックを割り当てると、すべてのオブジェクト変数にアクセスできなくなります...