Feld mit dynamischer Größe möglich?

Hallo,

Ich möchte ein int Feld erzeugen, ohne bei der Initialisierung eine konstante Größe anzugeben.

sinngemäß sowas...
int Anzahl[];
...nur wie, ohne, dass er meckert?!

Damit möchte ich während eines Prozesses Werte einfangen, ohne vorher zu wissen, wie viele es werden. Diese Werte sollen anschließend abhängig von der Anzahl der aufgenommenen Werte weiterverarbeitet werden... Daher dachte ich, lass ich die Größe des Feldes vorher offen, wenns geht.
 
Danke für die Info,
Hab mir die Typen in der MSDN mal angeschaut.
Ich denke, dass mir CList reichen wird.

Hab nur noch Probleme in der Handhabung.
Zeige kurz, wie weit ich das beim Lesen verstanden habe

Code:
#include <afxtempl.h>
CList<int,int> Liste;

int i = 10;
POSITION pos = ?  //keine Ahnung wie pos gefüllt werden muss
//Hab versucht pos mit GetHeadPosition oder über Find zu füllen 

Liste.AddHead(i);
i++;
Liste.AddTail(i);
i++;
Liste.AddTail(i);
//nun müsste Liste mit drei Werten gefüllt sein

//AfxMessageBoxInt ist eine eigene Routine, die über itoa und AfxMessageBox einen int ausgibt
AfxMessageBoxInt(Liste.GetHead());       //
AfxMessageBoxInt(Liste.GetNext(pos));   //Programm stürzt ab
AfxMessageBoxInt(Liste.GetNext(pos));

}

Danke schonmal für weitere Hilfe
 
GetHeadPosition() ist eigentlich schon ok. Wenn du "POSITION pos" am Anfang damit füllst, sollte es keinen Absturz geben.
Ein Iteration über alle Listenelemente sieht dann so aus:
C++:
for( POSITION pos = Liste.GetHeadPosition(); pos != NULL; )
{
    int i  =  Liste.GetNext(pos);

    // ...   
}
Gruß
MCoder
 
doch noch ne Frage...
kann ich wahlfrei auf die Liste zugreifen ?
Also, 3 Elemente sind drin,
aber ich möchte auf das zweite Element zugreifen.

Vielleicht mit der Methode GetAt ?
 
Würde so gehen:
C++:
POSITION pos = Liste.FindIndex(nIndex);

if( pos )
{
    int i = Liste.GetAt(pos);
    
    // ...
}
 

Neue Beiträge

Zurück