Câu hỏi này khiến tôi băn khoăn liệu có bao giờ hữu ích / cần thiết để đủ điều kiện tên lớp (bao gồm cả toán tử phạm vi toàn cầu) trong định nghĩa hàm thành viên ngoài lớp không.
Một mặt, tôi chưa bao giờ thấy điều này được thực hiện trước đây (và cú pháp để làm như vậy có vẻ mơ hồ). Mặt khác, tra cứu tên C ++ rất không tầm thường, vì vậy có thể có một trường hợp góc tồn tại.
Câu hỏi:
Có bao giờ một trường hợp giới thiệu một định nghĩa hàm thành viên ngoài lớp
ReturnType (::Fully::Qualified::Class::Name::MemberFunctionName)(...) { ... }
sẽ khác với
ReturnType Fully::Qualified::Class::Name::MemberFunctionName(...) { ... }
(không có ::
tiền tố phạm vi toàn cầu ) không?
Lưu ý rằng các định nghĩa hàm thành viên phải được đặt vào một không gian tên bao quanh lớp, vì vậy đây không phải là một ví dụ hợp lệ.