Array mit mehr als 100000 Elementen



  • ich habe gerade festgestellt, dass ich das Array nicht mit 100000 Daten füttern kann... bei 20000 läuft mein Programm wunderbar.
    kann mir jemand helfen, wie ich in so ein... oder ein anderes Array mehr als 1000000 Datensätze reinbekomme??

    Danke für eure Mühe!!!!!
    Stephan

    // Deklaration des Import -arrays
    struct struc_datenimport{
    	string Raster[100000];
    	double dbDaten[100000];
    	int iDaten[100000];
    	int i;};
    
    //Deklarieren der Arrays für die Parameterbestimmung
    struct struc_datenimport di;
    


  • Das ist normal, da der Stack nicht unbegrenzt groß ist. Und so wie du die angelegt hast, ist das auf dem Stack. Mußt du auf dem Heap anlegen, z.B. mit new. Am besten du benutzt aber einen Vector:

    #include <vector>
    
    // Deklaration des Import -arrays
    struct struc_datenimport{
        std::vector<string> Raster;
        std::vector<double> dbDaten;
        std::vector<int> iDaten;
        int i;
    };
    
    void foo() {
      struc_datenimport datenimport;
    
      datenimport.Raster.reserve(1000000); // 1000000 Elemente reservieren
    
      datenimport.Raster.push_back("hallo");
      datenimport.Raster.push_back("du");
    }
    

    Am besten du liest dir das hier mal durch: http://www.kharchi.de/cppratgeber2.htm



  • Danke!! Hat super funktioniert!! 🙂


Anmelden zum Antworten