3
ชื่อคลาสที่ผ่านการรับรองโดยสมบูรณ์ถึงขอบเขตทั่วโลกที่จำเป็นสำหรับคำจำกัดความของฟังก์ชั่นสมาชิกนอกบรรทัดหรือไม่?
คำถามนี้ทำให้ฉันสงสัยว่ามันมีประโยชน์ / จำเป็นสำหรับชื่อคลาสที่มีคุณสมบัติครบถ้วน (รวมถึงตัวดำเนินการขอบเขตทั่วโลก) ในนิยามฟังก์ชันฟังก์ชันสมาชิกนอกคลาสหรือไม่ ในมือข้างหนึ่งฉันไม่เคยเห็นสิ่งนี้มาก่อน (และไวยากรณ์ในการทำอย่างถูกต้องดูเหมือนคลุมเครือ) ในอีกด้านหนึ่งการค้นหาชื่อ C ++ นั้นไม่ใช่เรื่องเล็กน้อยดังนั้นอาจมีกรณีเล็ก ๆ น้อย ๆ คำถาม: มีกรณีที่แนะนำคำนิยามฟังก์ชั่นสมาชิกนอกคลาสโดย ReturnType (::Fully::Qualified::Class::Name::MemberFunctionName)(...) { ... } จะแตกต่างจาก ReturnType Fully::Qualified::Class::Name::MemberFunctionName(...) { ... }(ไม่มี::คำนำหน้าขอบเขตทั่วโลก)? โปรดทราบว่าคำจำกัดความของฟังก์ชันสมาชิกจะต้องใส่ไว้ในเนมสเปซที่ล้อมรอบคลาสดังนั้นนี่ไม่ใช่ตัวอย่างที่ถูกต้อง