Pertanyaan ini membuat saya bertanya-tanya apakah pernah berguna / perlu untuk sepenuhnya memenuhi syarat nama kelas (termasuk operator lingkup global) dalam definisi fungsi anggota di luar kelas.
Di satu sisi, saya belum pernah melihat ini dilakukan sebelumnya (dan sintaksis untuk melakukannya tampaknya tidak jelas). Di sisi lain, pencarian nama C ++ sangat tidak sepele, jadi mungkin ada kasus sudut.
Pertanyaan:
Apakah pernah ada kasus di mana memperkenalkan definisi fungsi anggota di luar kelas dengan
ReturnType (::Fully::Qualified::Class::Name::MemberFunctionName)(...) { ... }
berbeda dari
ReturnType Fully::Qualified::Class::Name::MemberFunctionName(...) { ... }
(tidak ada ::
awalan lingkup global )?
Perhatikan bahwa definisi fungsi anggota harus dimasukkan ke dalam namespace yang menyertakan kelas, jadi ini bukan contoh yang valid.