C++ Array Index auslesen

Hallo ich würde gerne wissen wie ich bei einem Array die Anzahl der Felder auslesen kann

wenn ich einen Array mit hier 4 Felder initialisiere

int a[ ] = {2,4,8,16}

und ich dann sämtliche variablen per cout ausgeben will

for ( int i = 0; anzahlarrayfelder < i; i++)
{
cout << a << endl;
{

wie mache ich das...

mfg
 
In der Regel merkt man sich die Anzahl der Elemente. Wenn man will, dann kann man sie aber auch so berechnen:
Code:
int size = sizeof(array) / sizeof(datentyp)
Bei deinem Int-Array a würde das dann so aussehen:
Code:
int size = sizeof(a) / sizeof(int)
MfG, Eydeet
 
und das funktioniert mit jedem datentyp?
also auch mit float, long, double, char?

danke... die Methode kannte ich noch nicht :p
 
Du solltest dir in C++ angewoehnen STL-Container/Vectors zu nutzen. Diese stellen eine Member-Funktion size() zur Verfuegung.

Code:
#include <vector>
...
vector <int>a(2, 4, 8, 18);
...
for (unsigned n = 0; n < a.size(); n++)
  cout << a[n] << endl;
 
Für dein Beispiel tut es auch ein Iterator.
mit dennen kannst du auch überprüfen ob es ein weiteres Element nach dem Aktuellen gibt.
Sind ebenfalls Bestandteil der STL.
 
Viele Wege fuehren nach Rom. Hauptsache man benutzt keine C-Wege fuer C++. ;) Ich wollte moeglichst nah an seinem Beispiel bleiben. Obwohl du Recht hast und ein Iterator der bessere Weg ist. Also der Vollstaendigkeit halber eine der moeglichen Loesungen via Iterator:

Code:
#include <vector>
...
vector <int>a(2, 4, 8, 18);
for(vector<int>::iterator i = a.begin(); i!=a.end(); ++i)
  cout << *i << endl;
 
Zurück
Oben