Huhu,
ich habe mal ne Frage. Ich habe ein Array von Smartpointern. Jedem Element dieses Arrays möchte ich eine neue Instanz zuweisen. Mein Testcode dazu sieht so aus:
Klar kann ich die initialisierung in einer Schleife machen. Gibt es aber noch einen eleganteren Weg? kann ich irgendwie sagen testPointer.reset() und er erstellt automatisch neue Instanzen?
Könnt ihr eine gute Beschreibung / Erklährung, wie Smartpointer zu verwenden sind, wo die Fallstricke liegen usw. empfehlen?
Gruß
ich habe mal ne Frage. Ich habe ein Array von Smartpointern. Jedem Element dieses Arrays möchte ich eine neue Instanz zuweisen. Mein Testcode dazu sieht so aus:
Code:
shared_ptr<Test> testPointer[8];
// Schnelle initialisierung
testPointer[0].reset(new Test());
testPointer[1].reset(new Test());
testPointer[2].reset(new Test());
testPointer[3].reset(new Test());
testPointer[4].reset(new Test());
testPointer[5].reset(new Test());
testPointer[6].reset(new Test());
testPointer[7].reset(new Test());
for(int i=0;i<8;i++){
testPointer[i]->testFkt(i);
}
Klar kann ich die initialisierung in einer Schleife machen. Gibt es aber noch einen eleganteren Weg? kann ich irgendwie sagen testPointer.reset() und er erstellt automatisch neue Instanzen?
Könnt ihr eine gute Beschreibung / Erklährung, wie Smartpointer zu verwenden sind, wo die Fallstricke liegen usw. empfehlen?
Gruß