Visualizzazione dei risultati da 1 a 3 su 3

Discussione: [c++]riferimenti

  1. #1
    Utente di HTML.it L'avatar di mica81
    Registrato dal
    Nov 2003
    Messaggi
    87

    [c++]riferimenti

    salve a tutti.
    ho scritto il seguente programma:

    #include<iostream.h>
    int h = 3;
    int main()
    {
    int i = 5;
    int& b= i;
    cout<< i <<'\t'<< b <<'\n';
    cout<< ::h <<'\n';
    { int i = 5;
    int& c = i;
    c = 6;
    cout<< i <<'\t'<< c <<'\n';
    i++;
    c++;
    cout<< i <<'\t'<< c <<'\n';
    cout<< ::h <<'\n';
    }
    system("pause");
    return 0;
    }
    il problema è che quando stampa i valori del secondo blocco, scrive correttamente le variabili i e c uguali a 6 e stampa il valore di h.
    però quando incrementa i e c non scrive 7 ma 8.
    dove sbaglio? grazie.

  2. #2
    nel secondo blocco
    codice:
    int i = 5; 
    int& c = i;
    i è c "condividono" la stessa area di memoria
    codice:
    i -->[5]
    c ----^
    quando fai questa assegnazione
    codice:
    c = 6;
    ecco cosa succede in memoria
    codice:
    i -->[6]
    c ----^
    quando incrementi i
    codice:
    i++;
    ecco cosa succede in memoria
    codice:
    i -->[7]
    c ----^
    quando incrementi c
    codice:
    c++;
    in memoria
    codice:
    i -->[8]
    c ----^
    ecco perchè stampa 8 per entrambi

  3. #3
    Utente di HTML.it L'avatar di mica81
    Registrato dal
    Nov 2003
    Messaggi
    87
    aaah ho capito! ecco perchè!
    e quindi per ottenere correttamente 7 come devo scrivere?

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.