查找指向对象的静态指针

Finding a static pointer to a object?

本文关键字:静态 指针 对象 查找      更新时间:2023-10-16

嘿,我正在为我的应用程序实现一个插件系统(但是为了让他们能够绘图等,他们需要我的窗口类等)

:

CWindow* window = new CWindow();

这是在启动时完成的,显然如果我这样做:

std::cout << window << std::endl;

指针将在每次应用程序再次运行时改变。

我怎么能找到一个静态指针,它(不改变),这样我就可以在我的插件SDK喜欢:

CWindow* GetWindow() {
  return (CWindow*)Addres;
}

你不需要这个地址在每次运行程序时都是相同的:你只需要知道在哪里可以可靠地找到这个地址。

作为一个快速而肮脏的解决方案(示例),你可以将new CWindow()返回的地址存储在一个全局变量中,该变量声明在头文件中,你将包含在你的插件中:这个变量将被你的插件访问,让插件访问窗口的地址。这个地址的实际值只是一个意外