Tôi biết tài liệu tham khảo mà không mất bất kỳ bộ nhớ
Không chính xác. Cho dù tham chiếu có bộ nhớ, không được chỉ định. Nó có thể hoặc nó có thể không. Trong ví dụ cụ thể này, nó không cần lưu trữ, do đó, trong một triển khai điển hình, nó không sử dụng bất kỳ.
nó sẽ trỏ đến vị trí nhớ cùng mà nó được tham khảo
Đó có vẻ là một lặp lại không cần hoặc chỉ đơn giản là một sự hiểu lầm, tùy thuộc vào những gì bạn có nghĩa là bởi "điểm". Tham chiếu đề cập đến đối tượng hoặc là bị ràng buộc cho đối tượng. Bạn có thể coi đó là bí danh của tên biến. Tên biến không sử dụng bất kỳ bộ nhớ nào.
Trong trường hợp này r được trỏ đến một số vị trí nhưng nó phải được lưu trữ ở đâu đó trong ký ức
Nó không cần phải được lưu trữ trong bộ nhớ.Hãy xem xét đoạn mã sau:
int i=10;
int &r = a;
int j = r * 3;
Trình biên dịch có thể giải thích r * 3
như i * 3
như nếu bạn đã viết như vậy trong những nơi đầu tiên. Vị trí của đối tượng được giới thiệu được biết ở thời gian biên dịch, vì vậy không cần phải lưu trữ địa chỉ trong bộ nhớ là một điều thời gian chạy.
Nhưng, trong các trường hợp khác, có thể cần phải lưu trữ. Ví dụ: Hãy xem xét một đối số tham chiếu của một hàm không nội tuyến có liên kết bên ngoài. Đối tượng được giới thiệu không thể được biết khi hàm được biên dịch, vì vậy một số thông tin phải được truyền trong bộ nhớ, tại thời gian chạy.
như đại diện nội bộ về const sử dụng tài liệu tham khảo con trỏ chỉ
Đó không phải là chính xác. Các đại diện nội bộ có thể sử dụng một con trỏ, hoặc nó có thể sử dụng cái gì khác, hoặc nó có thể không cần phải sử dụng bất cứ điều gì.
Vì vậy, để chính xác trả lời
đâu biến tài liệu tham khảo được lưu trữ
Đó là không xác định. Hoặc là hư không, hoặc ở đâu đó.
Nếu r là một biến, địa chỉ của r là & r. Nó không phải là một tham chiếu, C không phải là C++. Vì vậy, nếu r = & a, & r đại diện cho địa chỉ nơi địa chỉ của một kho được lưu trữ. – Tim
'Biến tham chiếu được lưu trữ ở đâu 'Đây là không xác định. –