当前位置:  开发笔记 > 编程语言 > 正文

如何知道C++中所有者对象的地址?

如何解决《如何知道C++中所有者对象的地址?》经验,为你挑选了1个好方法。

我想在C++中创建一个Notifier类,我将在其他对象中使用它来在对象被销毁时通知各个持有者.

template 
class Notifier {
public:
  Notifier(Owner* owner);
  ~Notifier(); // Notifies the owner that an object is destroyed
};

class Owner;

class Owned {
public:
  Owned(Owner* owner);
private:
  Notifier _notifier;
};

我的观点是,由于我有一个密集而复杂的对象图,我想避免将所拥有对象的地址存储在通知程序中.有没有办法更改我的通知程序类,以便它可以从自己的地址推导出拥有对象的地址,以及在编译时计算的偏移量?

另请注意,任何对象可能必须通知几个"所有者",可能来自同一个类.

谢谢.



1> Mykola Golub..:

看看GoF观察者设计模式.

推荐阅读
地之南_816
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有