私は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. ベクター<string>またはベクター<ベクター<char>>?
- 2. Joomla:自動的にページを公開し、公開を解除しますか?
- 3. アンドロイドマーケットに自分のアンドロイドアプリを公開するには?
- 4. WPF自分のオブジェクトを他のウィンドウに公開する方法
- 5. プロキシ/スタブでインターフェイスが公開されていますか?
- 6. ユーザーに自分のセッションIDを公開することは危険ですか?
- 7. (iphone)新しい国への公開時に、自分のアプリが「新着情報」に表示されますか?
- 8. 中古ライブラリのシンボルを自分の静的ライブラリに公開しない
- 9. joomlaの拡張ディレクトリに自分の拡張機能を公開するには?
- 10. 警告なしで自動公開されましたか?
- 11. Visual Studio 2012部分公開
- 12. 自分のサイトから別のFacebookページにコメントを公開したいですか?
- 13. このベクターにはどのように記入しますか? Stroustrupの例
- 14. ASP.NET MVCで、自分のウェブサイトを公開した後に404エラーが発生するのはなぜですか?
- 15. 公開カードで公開しているコンテンツを公開しました
- 16. リストを適切に公開<T>?
- 17. 複数のASP.NET Webアプリケーションの公開を自動化し、以前に公開したフォルダをバックアップする方法
- 18. Ninject.Extensions.Interception.Linfuで複数のインターフェイスを公開するプロキシ
- 19. 異なるクラスのインターフェイスを公開する
- 20. cc.netを使用した開発者ワークフローの自動公開
- 21. Windowsフォームクラスの部分公開の問題
- 22. Visual Studio 2010の機能の公開を自動化しますか?
- 23. TServiceの子孫を作成し、自分のプロパティを公開することは可能ですか?
- 24. Kerberos TGTの動作
- 25. 公開グラフを使用して自動的に投稿する
- 26. 公開グラフアクションをグループに公開する
- 27. Webサービスでインターフェイスを公開する方法
- 28. インターフェイスからのアダプタ<Type>からインターフェイス<Subtype>
- 29. 自分のサイトから自分のYouTubeアカウントにビデオをアップロードしますか?
- 30. WCFサービスで自分のメタデータを公開するにはどうすればよいですか?
私はそれを考えていませんでした。良い答え、+1。 –
後者の問題を解決するには、std :: vectorの単純なラッパークラスで十分でしょうか? –
残念ながら、私はそうは思わない。 – neuront