vector<vector<char>>
-
Hallo, wie bekommt man Zugriff auf die Elemente des inneren Vektors um sie z.B. neu zu setzen?
-
z.B. mit
v[3][5] = 'a';
-
Also angenommen ich habe
vector<vector<char>> v(5,vector<char>(3));und ich möchte jedes Element setzen. Ich würde es mit zwei for Schleifen tun, aber der innere Vektor hat garkeinen Namen?
for(int k=0; k<v.length();++k) for (int l=0; ????;++l)
-
Es gibt ja auch nicht "den" inneren vector sondern 5. (In deinem Beispiel.) Die Namen dieser vectoren sind offensichtlich v[0] bis v[4].
-
Namal schrieb:
und ich möchte jedes Element setzen.
auf was denn? Eine Konstante? Wenn du das zur Initialisierung schon machen kannst, geht das auch einfach so:
vector<vector<char>> v(5,vector<char>(3,'?'));Namal schrieb:
Ich würde es mit zwei for Schleifen tun, aber der innere Vektor hat garkeinen Namen?
for(int k=0; k<v.length();++k) for (int l=0; ????;++l)for(int k=0; k<v.size();++k) { vector<char>& vk = v[k]; // oder auch "auto&" statt "vector<char>&" in C++11 std::fill(vk.begin(),vk.end(),'?'); }oder so ähnlich
-
Natürlich kks Lösung nehmen, aber mal zur Klärung:
for (int l=0; ????;++l)
for (int l=0; l < v[k].size() ;++l)