2011-08-02 15 views

答えて

7

どのコンテナを使用するかは問題ではないと思います。あなたの場合、あなたも

void func(std::vector<std::vector<int>> const& int_matrix); 

を使用することができます。しかし、問題があるので、連続>は、「>>」とみなされることはありません、

void func(std::vector<std::vector<int> > const& int_matrix); 

またはC++ 11のようにそれを行うことができます作業がソースコードの代わりにバイナリとして公開されている場合、インターフェイスのユーザーはあなたと同じSTLを実装する必要があります。そうでなければ、奇妙なランタイムエラーが発生する可能性があります。このような状況ではインタフェースが適切でないため、STLコンテナを使用してください。いくつかの構造体をパラメータの型として定義する必要があります。

+0

私はそれを考えていませんでした。良い答え、+1。 –

+0

後者の問題を解決するには、std :: vectorの単純なラッパークラスで十分でしょうか? –

+0

残念ながら、私はそうは思わない。 – neuront

2

ベクターのベクトルは必ずしも悪いことではありません。多次元配列のようなものが必要な場合は、必要なものが必要です。 (ベクトルを[const]参照で渡すようにしてください)。

あなたはタイトルが言うので、しかし、あなたの質問のタイトルを変更したい場合があります

「ベクター< T>」(大胆さ、それがHTMLタグだと思っているため)が、あなたの質問は、ベクトルのベクトルについて尋ねます。

-1

IMO可能であれば、vectorをすべて1つのvectorにマージする方が良いです。 vectorvectorにすることは、私には分かりません。

関連する問題