私は C++ が初めてで、現在テンプレートとイテレータについて学んでいます。iterator
カスタム イテレータを実装するコードをいくつか見ましたが、これら 2 つのパラメータの違いを知りたいと思っています。
iterator & operator=(iterator i) { ... i.someVar }
bool operator==(const iterator & i) { ... i.someVar }
特定の反復子に対して = および == 演算子を実装します。イテレータ クラスにメンバー変数「someVar」があると仮定すると、ある演算子が「イテレータ i」を使用して実装され、別の演算子が「イテレータ & i」を使用して実装されるのはなぜですか? 2 つの「i.someVar」式に違いはありますか?
私は少しグーグルして、この質問を見つけました 配列のアドレス - アンパサンドを持つこととアンパサンドを持たないことの違い
答えは「配列はポインターに変換され、その値は配列の最初のもののアドレスです」でした。これが関連しているかどうかはわかりませんが、私が見つけた唯一の有効な説明のようです.
ありがとうございました!