0
我需要複製一個向量的多態對象,在新的向量中應該有指向相同的多態類型的指針,而不是指向相同的數據,而是應該指向新的數據堆。該數據需要設置爲與原始矢量相同的數據。複製指針向量而不切片
例
std::vector < Component * > entity = baseEntity;
在這種情況下,新矢量實體只是獲取指針從baseEntity
。這裏不會發生切片,但是當我更改baseEntity中的指針時,它也會更改實體中的數據。如何正確複製我的情況?
「新矢量sho uld是指向相同的多態類型的指針,而不是指向相同的數據「 - 他們必須指向* something *。你想*複製對象或只是指針? – WhozCraig
你必須讓你的'Component'對象[cloneable](http://stackoverflow.com/a/5148751/10077)。 –
我會建議智能指針,而不是原始指針。 – chris