Größe eines Array (Klassenabhänig)



  • Hallo,
    ich habe gerade ein Problem mit der Bestimmung, der Felderanzahl in einem Array.
    Das Array ist von einem eigenem Datentyp

    myclass daten[255];
    

    Wie kann ich hier auslesen, wieviele Felder ich schon verwendet habe.

    Im Forum habe ich eine Variante mit std::vector gefunden, aber da scheitert es dann mit der weiteren Arbeit daran.

    std::vector<myclass> daten;
    daten.push_back( myclass );
    cout << daten.size();
    

    (Bekomme kein neues Array angehangen)

    gibt es noch weitere möglichkeiten die Einträge von meinem Array zu ermitteln?

    mfG tim



  • #include <vector>
    #include <iostream>
    
    class foo_t {
    
    	int bar;
    };
    
    int main( )
    {
    	std::vector< foo_t > many_foos( 10, foo_t( ) ); // am Anfang 10 foos reinpacken...
    
    	std::cout << many_foos.size( ) << std::endl;
    
    	many_foos.push_back( foo_t( ) );
    	many_foos.push_back( foo_t( ) );
    	many_foos.push_back( foo_t( ) ); // ...noch ein paar foos...
    
    	std::cout << many_foos.size( ) << std::endl;
    
    	many_foos.push_back( foo_t( ) ); // ...und noch eins
    
    	std::cout << many_foos.size( ) << std::endl;
    }
    

    Wo liegt nochmal dein Problem genau? 😉

    cheers, Swordfish



  • Wieviel von deinem Array "benutzt" wird, kannst nur du sagen. Denn in dem Moment wo es initialisiert wird, wird es komplett "benutzt".



  • 🙂 ... ok jetzt gibt es kein Problem mehr ... DANKE, das Beispiel hat mir alle Fragen beantwortet


Anmelden zum Antworten