Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 16-04-2013, 10:47   #1
mistergks
Senior Member
 
L'Avatar di mistergks
 
Iscritto dal: Mar 2011
Messaggi: 1050
[C++] copiare lista in altra lista vuota

Ho una list <int> numeri; che ha 27 nodi
Poi creo una list <int> ncopy; e quindi vuota!
Voglio copiare tutta la lista numeri in ncopy!
Posso fare cosi?
Codice:
Ncopy = numeri;
E posso copiare una lista in un vector? E una lista in un altra di tipo diverso?
mistergks è offline   Rispondi citando il messaggio o parte di esso
Old 16-04-2013, 15:10   #2
mistergks
Senior Member
 
L'Avatar di mistergks
 
Iscritto dal: Mar 2011
Messaggi: 1050
Up : it is important!!!

Inviato dal mio GT-I9003 usando Tapatalk
mistergks è offline   Rispondi citando il messaggio o parte di esso
Old 16-04-2013, 15:14   #3
The_ouroboros
Senior Member
 
L'Avatar di The_ouroboros
 
Iscritto dal: May 2007
Città: Milano
Messaggi: 7103
http://www.cplusplus.com/reference/list/list/list/

Codice:
std::list<int> new (old.begin(),old.end());
__________________
Apple Watch Ultra + iPhone 15 Pro Max + Rog Ally + Legion Go

Ultima modifica di The_ouroboros : 16-04-2013 alle 15:20.
The_ouroboros è offline   Rispondi citando il messaggio o parte di esso
Old 16-04-2013, 17:31   #4
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
Originariamente inviato da The_ouroboros Guarda i messaggi
http://www.cplusplus.com/reference/list/list/list/

Codice:
std::list<int> new (old.begin(),old.end());
o più semplicemente
Codice:
list<int> source;
list<int> copy(source);
list<int> copy2 = source;
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 16-04-2013, 21:48   #5
mistergks
Senior Member
 
L'Avatar di mistergks
 
Iscritto dal: Mar 2011
Messaggi: 1050
Quote:
Originariamente inviato da tomminno Guarda i messaggi
o più semplicemente
Codice:
list<int> source;
list<int> copy(source);
list<int> copy2 = source;
Quindi si puo fare!
E con list di tipo diverso? E con vector? Non riesco a capire

Inviato dal mio GT-I9003 usando Tapatalk
mistergks è offline   Rispondi citando il messaggio o parte di esso
Old 17-04-2013, 07:31   #6
The_ouroboros
Senior Member
 
L'Avatar di The_ouroboros
 
Iscritto dal: May 2007
Città: Milano
Messaggi: 7103
Liste con elementi di tipo diverso come fai a copiarle tra loro? O per te un cesto di banane è la stessa cosa di uno di pere?

Inviato dal mio Sony Xperia P
__________________
Apple Watch Ultra + iPhone 15 Pro Max + Rog Ally + Legion Go

Ultima modifica di The_ouroboros : 17-04-2013 alle 08:41.
The_ouroboros è offline   Rispondi citando il messaggio o parte di esso
Old 17-04-2013, 09:57   #7
mistergks
Senior Member
 
L'Avatar di mistergks
 
Iscritto dal: Mar 2011
Messaggi: 1050
In effetti.......


Inviato dal mio GT-I9003 usando Tapatalk
mistergks è offline   Rispondi citando il messaggio o parte di esso
Old 17-04-2013, 10:35   #8
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
Originariamente inviato da mistergks Guarda i messaggi
Quindi si puo fare!
E con list di tipo diverso? E con vector? Non riesco a capire

Inviato dal mio GT-I9003 usando Tapatalk
Ma provare e/o studiare la documentazione del C++ no?
list di tipo diverso in generale non si possono copiare.
Mele e Pere al massimo fanno un cesto di Frutta
Se i tipi sono compatibili però la copia è possibile ad esempio:
Codice:
	std::list<short> s;
	std::list<int> i(s.begin(), s.end());
e anche questo:
Codice:
class A
{
public:
	A() {}
	operator int() { return 0; }
};
...

	std::list<A> s;
	std::list<int> i(s.begin(), s.end());
e pure questo:
Codice:
class A
{
public:
	A() {}
};

class B : public A
{
public:
	B() {}
};

	std::list<B> s;
	std::list<A> i(s.begin(), s.end());
vector ha gli stessi costruttori di list, quindi è possibile copiare vector tramite costruttore oppure operatore assegnamento

Ultima modifica di tomminno : 17-04-2013 alle 10:37.
tomminno è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 03:58.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v