Giả sử tôi có:C++ const vế trái tài liệu tham khảo
- hạng A mà là phi copyable
- lớp B trong đó có là thành viên, const Một & một (và mất điểm A trong constructer của nó và đặt nó trong danh sách khởi tạo của nó)
- một hàm
A GenerateA();
Điều này có nghĩa rằng nó phải được hợp lệ để làm: B (GenerateA()) ?
nghĩa là, nghĩa là const ref có nghĩa là không có bản sao A trả về được tạo ra? Và điều đó có nghĩa là phạm vi tạm thời trả lại được kéo dài cho đến khi B tồn tại?
CHỈNH SỬA: Câu hỏi bổ sung từ các nhận xét: Có thể chấp nhận trả lại A & từ GenerateA() đến A cục bộ, nếu giá trị l là một A &?
Cảm ơn!
Bạn không thể giữ tham chiếu đến giá trị của cuộc đời đã kết thúc; đó là chính xác những gì sẽ xảy ra khi bạn trả về một tham chiếu đến một biến cục bộ. – GManNickG
@GMan: Đó chính là ý định của câu hỏi của tôi, tức là, sử dụng tham chiếu const thay đổi tuổi thọ của đối tượng đã nói. –