|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Apr 2002
Città: Vigevano(PV)
Messaggi: 2124
|
[C++]Reference e Puntatori
Ma se in C++ ho i reference perche dovrei usare i puntatori??
Non basta che se il parametro passato puo essere NULL o cancellato nella funz sia un puntatore o in tutti gli altri un reference??? Tnk
__________________
Gnu/Linux User
|
|
|
|
|
|
#2 |
|
Bannato
Iscritto dal: Jul 2000
Città: Malo (VI)
Messaggi: 1000
|
Prima di tutti i puntatori "arrivano" dal C, e non si potevano eliminare senza perdere la compatibilita'.
Poi non sempre quello che fai con i puntatori riesci a farlo facilmente con i riferimenti. Ad esempio puoi avere puntatori a puntatori, ma non riferimenti a riferimenti. Non mi viene in mente una alternativa semplice al seguente frammento di codice: Codice:
void foo( int** x )
{
int* y = new int(10);
*x = y;
}
Ultima modifica di /\/\@®¢Ø : 08-05-2004 alle 22:18. |
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Sep 2001
Messaggi: 181
|
l'utilizzo dei puntatori in c++ è ancora una cosa fondamentale.
Iniziamo a dire....come faresti a fare allocazioni dinamiche? e non solo....vuoi mettere le potenzialità e la facilità messe a disposizione dall'algebra dei punttori nella gestione della memoria? Faccio qualche consid ma...scritta male ho una tastiera...va be lasciamo stare...cmq nn posso ins graffe immagina di aver un indirizzo di memoria e di voler sapere se il valore "del prossimo" byte è un numero dispari. bool func(void *param) char *pnt=NULL; pnt = param; pnt++; return(*pnt&0x01); nn ne trovi benificio semplimente perchè utilizzi macchine spinte e con una quantità di RAM allucinante e di non avere vincoli prestazionali Nel pass di argomenti in metod...io consiglio sempre i reference anche perchè il pasagg a punt significa fare un pass per copia di un tipo puntatore(es 4byte) metre quello per reference...è una cosa complessa da spiegare ma...non viene fatta alcuna copia. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 17:10.



















