Dlaczego ten kod się... kompiluje?

Dlaczego ten kod się... kompiluje?
ucwmiu
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3
0

Trochę już w c++ programuję, stąd moje zdziwienie, że kiedy przypadkowo się pomyliłem pisząc:

Kopiuj
const int size = 5;
    int array[size];
    
    
    for(int i = 0; i < size; i++)
        array[i] = i;
    
    int &ar = array[4];
    cout << ar << endl;
    int x = 20;
    ar = x;
    cout << ar << endl;

mój kompilator (GNU - na Ubuntu 12.04 64bit) nie zaprotestował, co więcej program zadziałał i się nie wysypał. Mój IDE Netbeans 7.2.1
Czy coś się zmieniło w kwestii tego, że referencja to stały wskaźnik???

Endrju
  • Rejestracja: dni
  • Ostatnio: dni
0

Nie, nic. Przecież ten kod jest poprawny. Co Cię w nim dziwi?

hauleth
  • Rejestracja: dni
  • Ostatnio: dni
0

Przecież nie zmieniłeś referencji tylko jej wartość.

ucwmiu
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3
0

O cholera, faktycznie, przepraszam za moje skretynienie, mam nadzieję, że nie jest zaraźliwe

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.