Saya mengerti sebagian besar operator overloading, dengan pengecualian dari operator akses anggota ->, .*, ->*dll
Secara khusus, apa yang diteruskan ke fungsi operator ini, dan apa yang harus dikembalikan?
Bagaimana fungsi operator (mis. operator->(...)) Mengetahui anggota yang dirujuk? Bisakah itu tahu? Apakah itu perlu diketahui?
Akhirnya, adakah pertimbangan const yang perlu dipertimbangkan? Misalnya, ketika melakukan overload seperti operator[], umumnya Anda memerlukan versi const dan non-const. Apakah operator akses anggota memerlukan versi const dan non-const?
constdan yang bukan constversi operator->tidak diperlukan , tetapi menyediakan keduanya dapat bermanfaat.
->*dan .*. Bahkan, itu bahkan tidak menyebutkannya! Saya merasa mereka jarang berada di FAQ, tetapi saya dengan senang hati menghubungkan pertanyaan ini dari FAQ. Tolong jangan tutup ini sebagai duplikat dari FAQ!