Mehrdimensionale dynamische Arrays



  • Guten Morgen zusammen,

    ich habe mir eben in der FAQ folgendes dazu angeschaut:

    4. Der Weg für C++ Programmierer: Man verzichtet auf dynamische Arrays und verwendet stattdessen die Container der STL. Für den Anfang reichen vectoren. Wenn etwas schneller werden soll, bieten sich valarrays an

    #include <vector>
    using namespace std;
    int main()
    {
        const int FirstDim = 3;
        const int SecDim = 2;
        vector< vector<int> > My2DimArr(FirstDim);
        for (int i = 0; i < FirstDim; i++)
            My2DimArr[i].resize(SecDim);
    
        My2DimArr[1][1] = 42;
    }
    

    soweit, so gut. ich benötige jetzt aber 3 dimensionen

    dann müsste das doch wahrscheinlich so aussehen oder?

    #include <vector>
    using namespace std;
    int main()
    {
        const int FirstDim = 3;
        const int SecDim = 2;
        const int ThrdDim = 5;
        vector< vector< vector<CString> > > My3DimArr(FirstDim);
        for (int i = 0; i < FirstDim; i++)
        {
            My3DimArr[i].resize(SecDim);
            for ( int y = SecDim; y < SecDim; y++ )
                 My3DimArr[i][y].resize(ThrdDim);
        }
    }
    

    CString deswegen, weil ich da Strings hinzufügen muss auf der 3. Ebene

    1. Ebene = FirstDim
    2. Ebene = SecDim
    3. Ebene = ThrdDim



  • Ja. Falsches Forum? 🙄 C++/CLI kennt 3-dimensionale Arrays als cli::array<typename, 3> .

    Und was ist deine konkrete Frage? 😉



  • ehm ups 😃

    ja, konkrete frage ist, ob das so richtig ist, wie ich das verstanden und implementiert habe 😉



  • MSS-Software schrieb:

    ehm ups 😃

    ja, konkrete frage ist, ob das so richtig ist, wie ich das verstanden und implementiert habe 😉

    In diesem Fall: Ja, kannst du so machen. 😃

    MfG


Anmelden zum Antworten