Làm cách nào để quyết định xem tôi có cần addressof(x)
thay vì &x
khi lấy địa chỉ của một đối tượng không?Khi nào sử dụng địa chỉ (x) thay vì & x?
Có vẻ như câu hỏi là khó hiểu, vì vậy làm rõ là theo thứ tự:
addressof
hiển nhiên bỏ qua địa chỉ-of quá tải toán tử. Tôi đã biết điều đó.
Điều tôi muốn biết là:
Làm cách nào để biết đó là điều tôi thực sự muốn làm? (Đặc biệt khi bên trong một mẫu, vv)
Có một số loại "quy tắc" giúp tôi tìm ra khi tôi cần addressof
thay vì &
?
Sau khi tất cả, cả hai đều trả về "địa chỉ của" đối tượng, vì vậy khi nào tôi sử dụng?
+1 câu trả lời hay nhất tôi đã nhìn thấy cho đến nay, giải thích tình hình rất tốt. – Mehrdad
Những gì tôi thấy buồn cười là * một * lớp * * mong đợi * để quá tải địa chỉ, 'reference_wrapper', dường như không ... – Mehrdad
@Mehrdad: Điều đó không làm tôi ngạc nhiên; cả 'reference_wrapper' và' addressof' đều đến từ Boost. AKA: những người biết nhiều nhất về sự nguy hiểm của tình trạng quá tải. –