我有幾個通過指針共享數據的對象。指針參數通過構造函數發送,如下所示。通過C++中的指針共享對象之間的數據
class A
{
public:
Shared* pB = new Shared();
User* object1 = new User(pB);
User* object2 = new User(pB);
}
class User
{
public:
User(Shared* pB) {m_sharedB = pB};
private:
Shared* m_sharedB;
}
class Shared
{
public:
struct Account
{
int account_number;
}
void method(){...};
}
我的問題與C++析構函數有關。當object1被刪除時,成員變量「m_sharedB」會發生什麼?其他同伴有沒有懸掛指針的問題?
錯誤的數量。你真的嘗試過什麼嗎?請修復基本的語法錯誤。 –
它是「共享」指針嗎?或者它是圖書館類? –
m_sharedB指向的對象不會被刪除。永遠。我以某種方式認爲這不是你正在尋找的答案。也許你應該問的問題是如何在不再需要它之後立即銷燬該對象? – Dialecticus