Từ § 17.6.4.9 của tiêu chuẩn ISO/IEC 14882: 2011 (E) (C++ 11):Việc triển khai C++ có được phép giả định tham số hàm tham chiếu rvalue là duy nhất không?
Mỗi phòng trong số sau đây áp dụng cho tất cả các đối số cho chức năng de fi định nghĩa trong Thư viện C++ chuẩn, trừ khi rõ ràng khẳng định khác.
[snip]
- Nếu đối số hàm liên kết với tham số tham chiếu rvalue, triển khai có thể giả định tham số này là tham chiếu duy nhất cho đối số này.
Đặc điểm kỹ thuật này chỉ áp dụng cho các chức năng thư viện chuẩn, nhưng dường như toàn bộ điểm tham chiếu rvalue là cho loại giả định này là có thể. Nếu tôi có một hàm lấy tham chiếu rvalue và chuyển một tham chiếu (hoặc thông qua một tạm thời hoặc std::move
), thì việc triển khai một cách hợp pháp có thể thực hiện tối ưu hóa giả định nó là duy nhất không? Nếu không, hãy thực hiện bất kỳ triển khai nào?
Tôi không chắc chắn câu hỏi của bạn. Có vẻ như câu trả lời đúng trong câu trích dẫn của bạn: 'việc triển khai có thể giả định rằng tham số này là duy nhất' –
Câu trả lời trả lời cho các hàm thư viện chuẩn. Nhưng còn về các hàm được định nghĩa trong chính chương trình thì sao? –