[英]Finding a static pointer to a object?
嘿,我正在為我的應用程序實現一個插件系統(但要使他們能夠繪制等,它們需要我的Window類以及所有這些東西)
像這樣:
CWindow* window = new CWindow();
這是在啟動時完成的,顯然如果我這樣做了:
std::cout << window << std::endl;
每次重新運行應用程序時,指針都會更改。
我如何為其找到靜態指針(不變),以便可以在插件SDK中使用它,例如:
CWindow* GetWindow() {
return (CWindow*)Addres;
}
您不需要每次運行該程序時都使用相同的地址:您只需要知道可以在哪里可靠地找到該地址。
作為一個快速而骯臟的解決方案(示例),您可以將new CWindow()
返回的地址存儲在將包含在插件中的標頭中聲明的全局變量中:然后該變量將可供您的插件訪問,從而為插件提供訪問窗口的地址。 該地址的實際值只是一個意外。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.