Dynanische multidimensionale Arrays in C++



  • Hallo bin neu bei C++ und hab eine Frage:

    Gibt es eine einfachere Möglichkeit ???

    int f=5;
    int** ppPosition;
    ppPosition = new int* [iDimX];
    for (int l=0;l<iDimX;l++) ppPosition[l] = new int[iDimY];
    ppPosition[10][11]=f;

    Danke im Voraus

    ulgo



  • Kommt drauf an, was du unter "einfacher" verstehst. Für mich wäre zB am einfachsten, 'ne spezielle Klasse für 2-dimensionale dynamische Arrays zu nehmen.
    Für deinen Speichermanager wäre es sicherlich einfacher, es wie folgt zu machen

    int f=5;
    int* Position = new int[DimX * DimY];
    Position[10 * DimX + 11] = f;
    

    Vom Handling her ist das natürlich alles andere als schön.
    Zu dem Thema gabs hier aber afair schon einige Threads. Benutz einfach mal die Suche, da findest du sicherlich noch andere Möglichkeiten.



  • Nimm Vektoren:

    std::vector< std::vector<int> >
    


  • oder einen typedef nutzen


Anmelden zum Antworten