我現在正在學習C++,並且希望獲得關於存儲成員變量對象的一些建議。我想在A中存儲B的實例,那麼執行此操作的最佳方法是什麼?將對象作爲指針存儲在C++中的類中
[編輯] - 我做這個例子更真實的世界。我需要能夠在運行時構造和分配紋理並將其分配給遊戲對象。
class GameObject
{
public:
Texture texture;
};
....
GameObject gameObject;
Texture texture;
gameObject.texture = texture;
或
class GameObject
{
public:
Texture *texture;
};
....
GameObject gameObject;
gameObject.texture = new Texture;
我儘量不使用指針,但在某些情況下,我覺得我需要。
在第一個例子中,爲什麼分配?您已在A中擁有B的實例。 – neagoegab
答案取決於所涉及的所有權和語義。存儲成員變量對象是你在第一種情況下做的事情,在第二種情況下,你保持指向其他地方的對象的指針。 –