私はC++には新しく、クラスを書く際に私のメソッドの1つがvector-of-vectorsを求めていることに気付きました。これを行う必要がありますか、私はクラスのインターフェイスを再考する必要がありますか? (どのように?)例:ベクター<t>自分の公開インターフェイスにしますか?
5
A
答えて
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コンテナを使用してください。いくつかの構造体をパラメータの型として定義する必要があります。
2
ベクターのベクトルは必ずしも悪いことではありません。多次元配列のようなものが必要な場合は、必要なものが必要です。 (ベクトルを[const]参照で渡すようにしてください)。
あなたはタイトルが言うので、しかし、あなたの質問のタイトルを変更したい場合があります「ベクター< T>」(大胆さ、それがHTMLタグだと思っているため)が、あなたの質問は、ベクトルのベクトルについて尋ねます。
-1
IMO可能であれば、vector
をすべて1つのvector
にマージする方が良いです。 vector
をvector
にすることは、私には分かりません。
関連する問題
- 1. Joomla:自動的にページを公開し、公開を解除しますか?
- 2. ベクター<string>またはベクター<ベクター<char>>?
- 3. アンドロイドマーケットに自分のアンドロイドアプリを公開するには?
- 4. WPF自分のオブジェクトを他のウィンドウに公開する方法
- 5. インターフェイスは同じ名前のイベントとメソッドを公開します
- 6. npmは自分のモジュールを公開できません
- 7. 公開されたリンケージプロパティとしてインターフェイスを使用します。
- 8. プロキシ/スタブでインターフェイスが公開されていますか?
- 9. numpy配列をC++ベクターとして公開
- 10. 自分のドメインのGoogleスプレッドシートアドオンを公開する
- 11. ユーザーに自分のセッションIDを公開することは危険ですか?
- 12. クラスライブラリ経由のグローバル例外ハンドラ - MyApplicationを公開しますか?
- 13. Moq> = 4.5.7は例外を公開しています.IsAny <decimal>()
- 14. 空のインターフェイスまたはプライベートの検証を公開する
- 15. インターフェイスに複数のIPv6リンクローカルのULA公開アドレスを設定できますか。
- 16. (iphone)新しい国への公開時に、自分のアプリが「新着情報」に表示されますか?
- 17. 中古ライブラリのシンボルを自分の静的ライブラリに公開しない
- 18. TranspileネイティブモジュールをES5に公開してからnpmに公開しますか?
- 19. joomlaの拡張ディレクトリに自分の拡張機能を公開するには?
- 20. Ada:仕様の公開部分と非公開部分が区切られていますか?
- 21. 警告なしで自動公開されましたか?
- 22. 自分のサイトを一般公開するために使用するIPアドレス
- 23. Googleの開発者コンソールに自分のアプリケーションを公開するためのスクリーンショットをアップロードできません
- 24. プライベートレポジトリを部分的に公開する
- 25. 自分のサイトのあるページから次のページにジャンプすると、ChromeのHTMLが公開されます
- 26. R - 1つのベクターを条件別に2つの別個のベクターに分ける(症例/対照患者)
- 27. 自分のサイトから別のFacebookページにコメントを公開したいですか?
- 28. 公開表示に自動的にリダイレクト
- 29. Visual Studio 2012部分公開
- 30. OCCI - にsetDataBuffer +ベクター<struct>
私はそれを考えていませんでした。良い答え、+1。 –
後者の問題を解決するには、std :: vectorの単純なラッパークラスで十分でしょうか? –
残念ながら、私はそうは思わない。 – neuront