Array elemente
-
Hallo ich habe ein Array sagen wir mal
string []tage = {"MO","DI", "MI"};
Wie bekomme ich nun die Anzahl der elemente Raus die in Tage sind (also = 3);
tage->length();
tage->size();liefern beide immer 17 ???
-
So klappt es bei mir:
sizeof (tage) / 16 //<- EditMfg Ominion
-
sizeof(tage)/4 ???
wieso sollte das denn klappen???
in java gibt es tage.length() und das würde 3 liefern wieso geht das ned in C++?
-
Das hat was mit den Bits zu tun, die ein Stringn im Arbeitsspeicher belegt. Du bekommst also über sizeof () die Bits, die insgesamt von dem Array belegt worden, und musst die dann noch durch die Zahl teilen, die ein einzelner String belegt. Dann haste die Anzahl der Elemente im Array. Das ist eigentlich auch nichts anderes als in Java, bloß das es nicht in eine Funktion gepackt wurde.
Mfg Ominion
-
C-Arrays sollte man in C++ nicht mehr verwenden. Sie dir doch mal in einer C++-Referenz std::vector an, da hast du size().
http://www.cppreference.com/cppvector/index.html