Behöver hjälp gällande arrays och objekt!!
Tjena allihop,
har stött på lite problem och behöver hjälp!
Nedan i exempel 1 så generar jag en array som håller 10 objekt från klassen C_Class, sedan så skapar jag 10 st pekare som jag sedan med hjälp av for loopen får pekarna att peka mot objekten som skapats med hjälp av arrayen.
Detta fungerar, men nackdelen med detta är att jag måste veta antalet objekt jag ska använda före jag kompilerar koden.
Om vi säger att jag vet antalet objekt jag behöver använda i taget låt oss säga 10 st som ett exempel så kan jag återanvända pekarna och behöver därför inte generera nya, men om jag behöver 100 objekt så vill jag kunna skapa 10 st åt gången sedan förstöra de gamla objekten för att kunna återanvända platserna i minnet.
Jag har tänkt mig något i stilen av exempel 2 men att jag måste förmodligen byta arrayen mot en vektor eller lista, men vet inte riktigt hur jag ska konvertera så om någon skulle kunna peka mig i rätt riktning så skulle det uppskattas!
Kan vara så att jag har fel i min förklaring, är inte jätte duktig på C++ så tar absolut inte illa upp om någon vill rätta mig så att jag tänker rätt till nästa gång.
Tack på förhand!
Exempel 1
static int s_Obj_Number = 0;
const int pointer_ArraySize = 10;
C_Class a_Obj[10];
C_Class *p_Array_Obj[pointer_ArraySize];
for(int spot = 0; spot < pointer_ArraySize; spot++){
p_Array_Obj[spot] = &a_Obj[s_Obj_Number];
s_Obj_Number++;
}
Exempel 2
static int s_Obj_Number = 0;
const int pointer_ArraySize = 10;
C_Class a_Obj[s_Obj_Number]; // Går inte eftersom man måste ha ett constant värde på en arrays storlek
C_Class *p_Array_Obj[pointer_ArraySize];
for(int spot = 0; spot < pointer_ArraySize; spot++){
p_Array_Obj[spot] = &a_Obj[s_Obj_Number];
s_Obj_Number++;
}