Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [C] Significato di &*Tnodo...

    Mi trovo davanti ad un codice il cui prototipo di una funzione è il seguente:
    *Tnodo inserisci(Tnodo *&Tnodo pc, Tnodo *&Tnodo pl, Tnodo *k);

    non riesco a capire il significato di quel *&...
    ..sui libri non c'è nulla a riguardo, chi mi aiuta a capire?
    ---smile is your life---:-)---

  2. #2

    Re: [C] Significato di &*Tnodo...

    Originariamente inviato da mr.smile
    Mi trovo davanti ad un codice il cui prototipo di una funzione è il seguente:
    *Tnodo inserisci(Tnodo *&Tnodo pc, Tnodo *&Tnodo pl, Tnodo *k);

    non riesco a capire il significato di quel *&...
    ..sui libri non c'è nulla a riguardo, chi mi aiuta a capire?
    sta a significare che passi il parametro per riferimento e cioè all'interno della funzione se modifichi il contenuto di quella variabile, tali modifiche saranno effettive anche all'esterno.
    Per i puntatori però non ha molto senso usare il passaggio per riferimento(secondo me). Penso sia molto piu utile per un tipo di dati primitivo(int,char).

  3. #3

    Re: [C] Significato di &*Tnodo...

    Originariamente inviato da mr.smile
    ..sui libri non c'è nulla a riguardo
    VVoVe: :maLOL:

  4. #4
    Mmmm...

    Qualcosa mi sfugge...
    se io passo solo il puntatore (Tnodo * t)
    all'interno della funzione io ho solo visibilità del puntatore ma non posso cambiarne il valore?
    ---smile is your life---:-)---

  5. #5
    E' l'equivalente C++ del puntatore di puntatore del C (pippo** p)

    E' una tecnica che risulta comoda abbastanza spesso.

    Un esempio comune sono le liste concatenate. Se per esempio crei una funzione che inserisce un elemento in testa alla lista passerai come parametro un puntatore al puntatore che punta al primo elemento della lista (scusa il gioco di parole :P)e la funzione farà la modifica tramite tale pointer.
    Chiaro che tale risultato lo puoi ottenere anche restituendo il nuovo elemento come valore di ritorno...ma pensa al caso in cui la tua funzione ha già un valore di ritorno (che so un booleano x dire se la modifica ha avuto o meno successo)

    In effetti è un pò macchinoso, ma appena inizi a capire il meccanismo vedrai che è molto utile

  6. #6
    Utente di HTML.it L'avatar di XWolverineX
    Registrato dal
    Aug 2005
    residenza
    Prague
    Messaggi
    2,565

    Re: [C] Significato di &*Tnodo...

    Originariamente inviato da mr.smile
    Mi trovo davanti ad un codice il cui prototipo di una funzione è il seguente:
    *Tnodo inserisci(Tnodo *&Tnodo pc, Tnodo *&Tnodo pl, Tnodo *k);

    non riesco a capire il significato di quel *&...
    ..sui libri non c'è nulla a riguardo, chi mi aiuta a capire?
    Un puntatore ad un riferimento al nodo.
    "Se proprio devono piratare, almeno piratino il nostro." (Bill Gates)

    "Non è possibile che 2 istituzioni statali mi mettano esami nello stesso giorno." (XWolverineX)

    http://xvincentx.netsons.org/programBlog

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.