Visualizzazione dei risultati da 1 a 9 su 9

Visualizzazione discussione

  1. #7
    Quote Originariamente inviata da shodan Visualizza il messaggio
    No. La variabile reference occupa lo stesso spazio in memoria della variabile referenziata perché "è la variabile referenziata sotto falso nome. Il fatto che io li definisca puntatori mascherati è dovuto al fatto che i reference si comportano( ai fini pratici ) come dei puntatori (con qualche scomodità in meno).
    Però se scrivi :
    codice:
    int p= 10;
    int* q;
    q = &p
    q avra un proprio spazio all'interno dello stack e questo spazio esiste a prescindere da quello che gli verrà messo dentro. Ossia l'indirizzo di q non è l'indirizzo di p.
    Quando scrivi:
    codice:
    int p = 10;
    int& q = p;
    q e p condividono lo stesso spazio all'interno dello stack. Ossia l'indirizzo di q è lo stesso di p.
    Un pò come in una discussione parlare con una persona chiamandola un volta per nome e una per cognome.
    Ma quello che hai appena scritto, in particolar modo che "p e q condividono lo stesso spazio all'interno dello stack", non è la stessa cosa che ho scritto io nel primo post?

    Ovvero: "Quindi, nel caso di una variabile reference non avrei occupazione di memoria( se non per la variabile int y dell'esempio). Mentre, nel caso di una variabile puntatore avrei l'occupazione di memoria di int y e l'occupazione di int *x."

    Quindi, oltre all'occupazione di memoria della variabile a cui il reference si riferisce(nel tuo esempio il reference q "fa riferimento" alla variabile p), non si ha ulteriore occupazione di spazio.
    Ultima modifica di Stefano.; 05-02-2016 a 01:17

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 © 2025 vBulletin Solutions, Inc. All rights reserved.