std vector 3d dimension , resize eines 3d vectors, wie?



  • also ich kapier das resizen von mehrdimensionalen vectoren noch nicht ganz
    einen 2d macht man ja so:

    vector<vector<char*>>Vector1;
    Vector1.resize(14,vector <char*>(14,0));
    
    und wie bei 3d?
    vector<vector<vector<char*>>>Vector1;
    

    vielen dank...


  • Mod

    Der zweite Wert im Konstruktor gibt den Wert an, mit dem initialisiert werden soll. Du hast hier im 2D-Fall 0 gewählt (unnötig, weil Default), im 3D-Fall würdest du da eben einen weiteren Vector nehmen.



  • kapier ich irgendwie aber nicht;
    denn:

    vector<vector<vector<char*>>>Ka;
    
    Ka[0].resize(15,vector <char*>(15,0));
    oder 
    Ka.resize(14, vector <char*>(15,0),vector <char*>(15,0));
    

    funktioniert nicht, was mach ich da falsch?



  • hab das jeztz anders gelöst und zwar so, nur muss man der reihe nach resizen damit das auch funktioniert:

    vector<vector<vector<int>>>tv;
    tv.resize(15);
    tv[0].resize(19);
    tv[0][0].resize(21);
    

    nun wurden alle dimensionen des vectors auf den entsprechenden wert gebracht.



  • buntehaare schrieb:

    hab das jeztz anders gelöst und zwar so, nur muss man der reihe nach resizen damit das auch funktioniert:

    vector<vector<vector<int>>>tv;
    tv.resize(15);
    tv[0].resize(19);
    tv[0][0].resize(21);
    

    nun wurden alle dimensionen des vectors auf den entsprechenden wert gebracht.

    Nee. Was ist mit tv[1]? Oder tv[3][2]? Oder ...



  • vector<vector<vector<int>>> tv(15, vector<vector<int>>(19, vector<int>(21)));
    

Anmelden zum Antworten