- ベストアンサー
外部のクラスからコンテナをイテレーションする場合
返す側のクラスは何を返えすのが望ましいでしょうか? beginとendのペア?コンテナごと返す?
- みんなの回答 (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++の場合)イテレートして実行したい処理の関数オブジェクトを引数とするメソッドを実装する も検討材料に入れますが。
お礼
回答ありがとうございます。 >>(1)ご質問の言語はC++でしょうか、それともC#でしょうか。 C++です。 >>(2)(C++という前提で書きますが)あなたが聞きたいのは以下のようなことでしょうか? そうです。
補足
途中で送信してしまいました。 (c)や(d)が自然という気がします。 というか、あまり深く考えないほうがいいのでしょうか、、、 議論や言及しているサイトが無いですし。どうでもいいことなのかもしれないですね。