ฉันอ่านว่าโอเปอเรเตอร์โอเวอร์โหลดที่ประกาศว่าเป็นฟังก์ชันสมาชิกนั้นไม่สมมาตรเนื่องจากสามารถมีได้เพียงพารามิเตอร์เดียวและพารามิเตอร์อื่นที่ส่งผ่านโดยอัตโนมัติคือthis
ตัวชี้ ดังนั้นจึงไม่มีมาตรฐานที่จะเปรียบเทียบได้ ในทางกลับกันโอเปอเรเตอร์ที่โอเวอร์โหลดถูกประกาศว่า a friend
เป็นแบบสมมาตรเนื่องจากเราส่งผ่านอาร์กิวเมนต์ประเภทเดียวกันสองอาร์กิวเมนต์ดังนั้นจึงสามารถเปรียบเทียบกันได้
คำถามของฉันคือเมื่อฉันยังสามารถเปรียบเทียบค่าของตัวชี้กับข้อมูลอ้างอิงได้ทำไมเพื่อนถึงชอบ? (การใช้เวอร์ชันอสมมาตรให้ผลลัพธ์เหมือนกับแบบสมมาตร) เหตุใดอัลกอริทึม STL จึงใช้เฉพาะเวอร์ชันสมมาตร