|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Mar 2011
Messaggi: 1050
|
[c++] vector di vector
Ciao a tutti! Qualcuno riesce a spiegarmi in parole povere come funziona fisicamente un vector di vector scritto così?
Codice:
Vector<vector<string>> |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2782
|
Puoi immaginarlo come una matrice ma in questo caso le "righe" sono di lunghezza variabile (dipende da quanti dati contengono).
A me non viene semplice vederlo come una matrice, preferisco vederlo come una lista di liste. |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Mar 2011
Messaggi: 1050
|
Ma come faccio a scorrerlo?
Immagino con due for innestati... Il problema è come faccio a riferirmi al vector contenuto nell'altro vector e come mi riferisco al vector principale? Cioe tipo: Codice:
For(vector<string>::iterator it= begin(); it!=end();it++){
For(vector<string>::iterator it= begin(); it!=end();it++)
}
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
Codice:
vector<vector<string>> list;
for_each(list.begin(), list.end(), [](vector<string>& v)
{
for_each(v.begin(), v.end(), [](string&s) {
});
});
...
for(vector<string>& v : list)
{
for(string& s : v)
{
...
}
}
//Oppure ancora meglio...
for(auto& v : list)
{
for(auto& s : v)
{
...
}
}
Ultima modifica di tomminno : 19-05-2016 alle 18:04. |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Mar 2011
Messaggi: 1050
|
Non ho capito...
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Mar 2011
Messaggi: 1050
|
Potrebbe essere anche una list di list... Ma come faccio a scandirla??
Tipo Codice:
list<list<*string>> |
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: May 2001
Messaggi: 12905
|
Quote:
Gli elementi della lista più "esterna" sono liste, quindi, come ti ha illustrato tomminno, se stai usando C++11 (spero per te di si) puoi fare: Codice:
list<list<string>> matrice;
for(list<string>& lista : matrice)
{
// la variabile "lista" è il riferimento all'elemento i-esimo di "matrice", ovvero una lista :D
for(string& s : lista)
{
... // qui s è il riferimento alla j-esima stringa di lista
}
}
|
|
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
|
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Mar 2011
Messaggi: 1050
|
[c++] vector di vector
|
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 19:07.




















