Poniżej znajduje się, czy istnieje obiekt tymczasowy utworzony przed odniesieniem do const dla obiektu niestałego?const odniesienie do obiektu nie będącego stałym obiektem
const int y = 2000;
const int &s = y // ok, const reference to const object.
int x = 1000;
const int &r = x; // any temporary copy here?
Jeśli nie, to jak to działa?
const int z = 3000;
int &t = z // ok, why can't you do this?
W szczególności, wartość 'r' można zmienić, mimo że jest zadeklarowana "const". – avakar
Zwykle kompilatory implementują odniesienie za pomocą prostego wskaźnika. –
@quant_dev Biorąc pod uwagę próbkę OP, kod źródłowy, który wymienia 'x' i kod źródłowy, który wymienia' r', są kompilowane do identycznego kodu maszynowego. Nie ma żadnych wskaźników (na wszystkich kompilatorach, które widziałem). Nie tak ważne. – Cubbi