|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Nov 2002
Messaggi: 6210
|
[C++] Domanda su Vector
Ciao a tutti,
vorrei inserire in un vector elementi di questo tipo: Codice:
typedef pair<string, int[3] > dirAttributes; vector< dirAttributes > check_dir_names; Codice:
int attr[3];
a[0] = 0;
a[1] = 1;
a[2] = 2;
string str("ciao");
poi in una funzione apposita: Codice:
void insertelems(string str, int[] attr){
dirAttributes dirAttr(str,attr);
check_dir_names.push_back(dirAttr);
}
Ultima modifica di Unrue : 02-04-2009 alle 09:42. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Non viene fatta una copia, questa secondo te cosa rende in output ?
Codice:
void copia(int pippo[3])
{
pippo[2] = 1;
}
int main()
{
int a[3];
a[0] = a[1] = a[2] = 0;
copia(a);
cout << a[0] << a[1] << a[2];
return 0;
}
|
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Nov 2002
Messaggi: 6210
|
Quote:
però nel libro Wrox Professional C++ dice che il metodo push_back copia i valori passati nel vettore.. Per la precisione: push_back() and insert() take const references to elements, allocate memory as needed to store the new elements, and store copies of the element arguments. La domanda è se vale anche con elementi di tipo int* Ultima modifica di Unrue : 02-04-2009 alle 19:13. |
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Nov 2002
Messaggi: 6210
|
No, con int* non funziona, ho provato. Ma allora non capisco che intenda sul libro.
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
|
|
|
|
|
|
#6 | |
|
Senior Member
Iscritto dal: Nov 2002
Messaggi: 6210
|
Quote:
|
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 02:12.




















