¿Hay algún problema al pasar 'esto' a otro objeto en la lista de inicializadores en el siguiente código?pasando esto desde la lista de inicializadores del constructor
class Callback { public: virtual void DoCallback() = 0; };
class B
{
Callback& cb;
public:
B(Callback& callback) : cb(callback) {}
void StartThread();
static void Thread()
{
while (!Shutdown())
{
WaitForSomething();
cb.DoCallback();
}
}
};
class A : public Callback
{
B b;
public:
A() : b(*this) {b.StartThread();}
void DoCallback() {}
};
Si no es seguro hacerlo, ¿cuál es la mejor alternativa?
En algún momento entre entonces y ahora, el gran artículo del FAQ C++ ha migrado [aquí] (https: // isocpp .org/wiki/faq/ctors # using-this-in-ctors) – peterpi