• ベストアンサー

外部のクラスからコンテナをイテレーションする場合

返す側のクラスは何を返えすのが望ましいでしょうか? beginとendのペア?コンテナごと返す?

質問者が選んだベストアンサー

  • ベストアンサー
  • hitomura
  • ベストアンサー率48% (325/664)
回答No.1

すみませんが確認させてください。 (1)ご質問の言語はC++でしょうか、それともC#でしょうか。 (2)(C++という前提で書きますが)あなたが聞きたいのは以下のようなことでしょうか? 以下のようなクラスAがあって、 class A { private: std::vector<int> data; }; このクラスの外側からdataをイテレートする必要がある場合以下の(a)(b)のどちらを行えばいいのか? (a) std::pair<std::vector<int>::iterator, std::vector<int>::iterator> getRange() を作る (b) std::vector<int> getData() を作る …まあ、自分ならそれ以外に (c)イテレート処理をこのクラスAに実装する や (d)(C++の場合)イテレートして実行したい処理の関数オブジェクトを引数とするメソッドを実装する も検討材料に入れますが。

110110110110
質問者

お礼

回答ありがとうございます。 >>(1)ご質問の言語はC++でしょうか、それともC#でしょうか。 C++です。 >>(2)(C++という前提で書きますが)あなたが聞きたいのは以下のようなことでしょうか? そうです。

110110110110
質問者

補足

途中で送信してしまいました。 (c)や(d)が自然という気がします。 というか、あまり深く考えないほうがいいのでしょうか、、、 議論や言及しているサイトが無いですし。どうでもいいことなのかもしれないですね。

関連するQ&A