我想在 C++ 中创建一个 Notifier 类,我将在其他对象中使用它来在对象被销毁时通知各种持有者。
template <class Owner>
class Notifier<Owner> {
public:
Notifier(Owner* owner);
~Notifier(); // Notifies the owner that an object is destroyed
};
class Owner;
class Owned {
public:
Owned(Owner* owner);
private:
Notifier<Owner> _notifier;
};
我的观点是,由于我有一个密集而复杂的对象图,我想避免在通知程序中存储拥有对象的地址。有没有办法更改我的通知程序类,以便它可以从自己的地址和将在编译时计算的偏移量推断出拥有对象的地址?
另请注意,任何对象都可能必须通知多个“所有者”,可能来自同一类。
谢谢。
最佳答案
关于c++ - 我如何知道 C++ 中所有者对象的地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/709790/