Array aus Zeiger auslesen



  • Hi, ich habe da ein kleines Problem:

    int* Data = new int[100];
    
    int* getData()
    {
        return Data;
    }
    

    Wie könnte ich an den Array kommen? Das Problem ist, das ich memcopy() benutzen muss.

    memcpy(neu, getData(), 100*sizeof(int));
    

    Wennich es so mache, dann wrd ja einfach nur der Zeiger kopiert, und nicht der Array!



  • Code-Walker schrieb:

    Hi, ich habe da ein kleines Problem:

    Ja, ein wenig viel C vor den Augen... Warum nicht mit C++ Mitteln?

    std::vector<int> Data;
    
    std::vector<int> getData()
    {
        return Data;
    }
    

    Ansonsten könntest du deine Frage in das C-Forum stellen 😉



  • Ein vector geht nicht, weil es ein Zeiger mit Array sein muss! Das ist halt das Problem. Könnte ein Mod dieses Topic in das C Forum verschieben?



  • Ich muss ein sternchen vor setzen ... xD



  • Code-Walker schrieb:

    memcpy(neu, getData(), 100*sizeof(int));
    

    Wennich es so mache, dann wrd ja einfach nur der Zeiger kopiert, und nicht der Array!

    nein. das memcpy() kopiert sehr wohl den inhalt des arrays.



  • Code-Walker schrieb:

    Ein vector geht nicht, weil es ein Zeiger mit Array sein muss! Das ist halt das Problem.

    Ahja, mit anderen Worten du programmierst kein C++? Weil ein Vector durchaus an Schnittstellen übergeben werden kann die Arrays erwarten... Aber das Thema wurde schon häufig genug im Forum angesprochen.

    cu André


Anmelden zum Antworten