Tôi quá tải một toán tử hai lần với cùng một danh sách tham số. nhưng với loại trả lại khác:Toán tử quá tải C++ hai lần, một tham chiếu không tham chiếu const và tham chiếu const khác, ưu tiên là gì?
T& operator()(par_list){blablabla}
const T& operator()(par_list){blablabla}
Vì vậy, khi tôi gọi toán tử(), chức năng nào sẽ được gọi dựa trên sở thích hoặc tình huống nào? Tôi biết rằng nếu tôi gọi() theo hàm const nó phải là const T & một.
Tôi chỉ tò mò về cách C++ đối phó với tình huống như vậy và cách hoạt động của tùy chọn mặc định.
Cảm ơn
Thuật ngữ này là * quá tải *, và không. – chris
C++ Không cho phép quá tải theo kiểu trả về. Người ta có thể đi vào những gì nó có thể/nên làm, nhưng nó sẽ không thành vấn đề. Một mẹo là làm cho phương thức const khi kiểu trả về là const, vì nó có thể bị quá tải. Bộ nhớ của tôi là phương pháp const được ưa thích, với không được gọi là const gọi const sẽ không hợp pháp. – Joe