Array + try?



  • Hallo,
    ich habe einen int Array mit einer Größe kleiner als 256*sizeof(int). Nun möchte ich die wirkliche Größe herausfinden.

    Leider geht das so nicht 😕

    int* piArray=/*...*/;
    
    for(int i=0;/*i<256*/;++i)
    {
    try
    {
    piArray[i];
    }
    catch(...)
    {
    //i ist nun die Anzahl der Elemente in dem Array...
    break;
    }
    }
    


  • geht so nicht. auch wenn man hinter dem array schreibt/liest muss nicht zwangsläufig ein zugriffsfehler passieren.
    wieso weisst du die grösse nicht?



  • ten schrieb:

    geht so nicht. auch wenn man hinter dem array schreibt/liest muss nicht zwangsläufig ein zugriffsfehler passieren.

    ...und ein Schreiben in ungültigen Speicher wird AFAIK nicht mit thow geworfen.



  • Badestrand schrieb:

    ten schrieb:

    geht so nicht. auch wenn man hinter dem array schreibt/liest muss nicht zwangsläufig ein zugriffsfehler passieren.

    ...und ein Schreiben in ungültigen Speicher wird AFAIK nicht mit thow geworfen.

    Hängt ganz vom Array ab 😃 .



  • CodeFinder schrieb:

    Hängt ganz vom Array ab 😃 .

    ArrayT schrieb:

    int* piArray=/*...*/;
    

    :p



  • Hm mir ist gerade aufgefallen, dass std::vector beim Index-Operator ja gar nicht throwed 😞 (darauf hatte ich in meine Post angespielt^^)...da muss man ja .at() nehmen, Mist 🤡 .



  • CodeFinder schrieb:

    Hm mir ist gerade aufgefallen, dass std::vector beim Index-Operator ja gar nicht throwed 😞 (darauf hatte ich in meine Post angespielt^^)...da muss man ja .at() nehmen, Mist 🤡 .

    ein std::vector ist aber im vergleich zu einem array ein ziemlich komplexes gebilde...
    🙂



  • ten schrieb:

    CodeFinder schrieb:

    Hm mir ist gerade aufgefallen, dass std::vector beim Index-Operator ja gar nicht throwed 😞 (darauf hatte ich in meine Post angespielt^^)...da muss man ja .at() nehmen, Mist 🤡 .

    ein std::vector ist aber im vergleich zu einem array ein ziemlich komplexes gebilde...
    🙂

    Hm lol ist ne dynamische Datenstruktur, was heißt da schon komplex ^^ (was ich damit sagen will ist^^: es gibt doch komplexeres :p )

    EDIT: Ich betrachte es aber trotzdem als 'Array' 😉 .



  • CodeFinder schrieb:

    EDIT: Ich betrachte es aber trotzdem als 'Array' 😉 .

    genau, egal wie der hase läuft, hauptsache er läuft 👍


Anmelden zum Antworten