私は、メンバーアクセス演算子を除いて、ほとんどの演算子のオーバーロードを理解し->、.*、->*など
特に、これらの演算子関数に渡されるものと返されるものは何ですか?
演算子関数(例operator->(...))は、どのメンバーが参照されているかをどのようにして知るのですか?わかる?それも知る必要がありますか?
最後に、考慮に入れる必要があるconstの考慮事項はありますか?たとえば、のようなものをオーバーロードする場合operator[]、通常、constバージョンとnon-constバージョンの両方が必要になります。メンバーアクセスオペレーターにはconstバージョンとnon-constバージョンが必要ですか?
constおよびの非constバージョンは必須でoperator->はありませんが、両方を提供すると便利です。
->*および.*。実際、それらについても触れられていません!FAQに載ることはまれだと思いますが、この質問をFAQから喜んでリンクします。FAQの真似としてこれを閉じないでください!