Logo Background RSS

Pubblicita'

Fondamenti di linguaggio C/C++: LVALUE e RVALUE

  • Scritto da spriksprik Nessun Commento Comments
    Ultimo aggiornamento: 15 dicembre, 2009

    imgprog

    Quando viene utilizzata una variabile, il senso del suo utilizzo dipende dal tipo di operazione che viene effettuata su essa.
    Una variabile è composta da due parti: l’indirizzo di memoria (parte sinistra) ed il valore (parte destra).
    L’indirizzo di memoria viene tecnicamente chiamato lvalue o left value (valore sinistro), il valore viene chiamato rvalue o right value (valore destro).

    Nei puntatori si utilizzano molto questi concetti, stanno alla base del loro utilizzo ed una errata considerazione di lvalue o rvalue può degenerare l’intero utilizzo di essi.

    Facendo un esempio, si considerino due variabili A e B: utilizzando una normale istruzione di assegnamento del tipo A = B, quindi il valore B è ricopiato su A (rvalue di A = rvalue di B), ma si sottointende il suo significato tecnico, ovvero il valore di B (rvalue di B) è ricopiato nella locazione di memoria di A (lvalue di A), quindi rvalue di A = rvalue di B ed il precedente rvalue di A viene perso.

    Questi sono concetti molto basilari, ma in ambiti particolare una errata concezione potrebbe causare non pochi problemi.

Pubblicita'

Inserisci un commento

:D :-) :( :o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: :1up: :alert: :beer: :borg: :coffee: :cuckoo: :cuss: :finger: :goombah: :megaman: :pity: :noshake: :oogle: :pacman: :pill: :poison: :poop: :rant: :satansmoking: :shake: :shiftyeyes: :shroom: :sick: :smirk: :stfu: :thumbdown: :thumbup: :turtle: :what: :whatever:
Notify me of follow-up comments via email.