class AClass
{
// ...
}
class AnotherClass
{
public:
// ...
void AMethod()
{
// ...
AClass * ac = new AClass(); // Dynamic memory allocation here
m_Objects.push_back(ac);
// ...
}
// ...
private:
// ...
std::vector<AClass *> m_Objects;
// ...
}
I m_Objects
neue Objekte von AClass
zu dem Vektor hinzugefügt werden soll.
Gibt es eine andere Möglichkeit, dies ohne dynamische Speicherzuweisung zu tun?
Warum nicht 'AClass' Objekte im Vektor statt Zeiger auf' AClass' Objekte speichern? (Ja, es gibt immer noch eine dynamische Zuweisung für den zugrunde liegenden Speicher des "Vektors", aber nicht für die einzelnen Elemente.) –
Gibt es einen Grund, warum Sie keine dynamische Speicherzuweisung vornehmen möchten? –
@Sanjit: Weil es nicht sehr wünschenswert ist. Dies kann zu Speicherverlust führen. – hkBattousai