STL イテレータはコンテナ クラスで使用され、コンテナに格納された特定の要素へのポインタと概念的に似ています。
以下のステートメントの 1 つが当てはまります。どれ?
- 通常、反復子はアドレス (ポインター) を保持し、反復子に適用された operator++ は常にそのアドレスを増やします。
- イテレータ
it
がプログラムのスコープ外に出ると、it
破棄され、自動的に ; が呼び出されdelete it
ます。 - 有効な STL コンテナー myC の場合、式 myC.end()-myC.begin() が適切に定義されている場合、myC.size() と同じ値を返します。
- コンテナがスコープ外になると、それを指すすべてのイテレータが自動的に変更されます。
- 有効な STL コンテナー myC の場合、myC.end() によって返される反復子は、myC の最後の有効な要素を参照します。
どうやら解決策は 3. ですが、理由がわかりません。誰かがこれが事実である理由を詳しく説明し、おそらく他の人がなぜ間違っているのかを示すことができますか?