- ベストアンサー
(STL) vectorとlistの違い
vectorとlistの違いって何なんでしょうか。 vectorは動的な配列の確保で listも動的な配列だけど双方向探索やソートもできる、 つまりlistはvectorの機能を含む拡張版みたいなもの、こう考えてよろしいのでしょうか? いまいちvectorとlistが同じようなものに見えて仕方ないのです・・。
- みんなの回答 (3)
- 専門家の回答
関連するQ&A
- STLのlist どのデータでソートするか分からないデータでソートを行うには?
class data { public: 文字列型* str; //コンストラクタでN個の配列を生成 int N; //文字列の配列の個数 }; list<data> obj; と書いて、objに対して大量にデータを追加した後、その要素をソートするところで困っています。 データを文字列型のデータの配列の特定のオブジェクトを使ってソートするのに、その方法が見つかりません。 リストのデータの一つ目 str[0] = "abc"; str[1] = "def"; リストのデータの二つ目 str[0] = "ghi"; str[1] = "jkl"; というリストのデータがあったときに、str[0]の要素でソートしたいということなのですが........ メンバのint型などについては、operator<をオーバーロードする方法が見つかったのですが........
- ベストアンサー
- C・C++・C#
- ATLとSTLの違いは何でしょうか?
ATLとSTLの違いは何でしょうか? STLでもリスト構造(線形リスト、[双方向リスト]) #include <list>があるみたいですが・・・ STLはC++の標準テンプレートライブラリ(そのまま)と理解しています。 あと、ActiveXとALTの違いも知りたいです。 極論しますが、ActiveXとはOCXを作ることでしょうか?
- ベストアンサー
- C・C++・C#
- perlのリストと配列の違いについて
Perlの本を読んでいたらリストというのがでてきました。 読んでいてもリストと配列の違いがよくわかりません。 リストと配列はどう違っていてどのように使いわけるのでしょうか?
- ベストアンサー
- Perl
- Vectorを要素とするVector
初めまして。 迷路の順路探索を行うプログラムを作成し、 その際Point型の座標データを始点から一定の歩数まで順に並べたVector型オブジェクトrouteと、 そのrouteを要素に持つVector型オブジェクトstoreを定義しました。 ところが、新しく探索したrouteをstore.addElement(route)で追加したところ、 storeの全要素が新しいrouteで上書きされてしまいました。 結果、探索が一方向にしか進まないという状態で詰まっています。 SunのVectorクラスの仕様を読んでも解決の糸口らしいものが見えないのですが、 何かこの現象を回避する方法はないものでしょうか。
- ベストアンサー
- Java
- Firefox1.5の拡張機能リスト
拡張機能リストに削除不可能なモノがが残っており、その削除方法があれば教えてください。 残ってしまっている拡張機能ですが・・・ *間違ってThunderbirdの拡張機能をインストールしてしまった。(Display mail route) *英語版と日本語版をインストールして、英語版を削除したけれど、拡張機能名だけ残ってしまった。(adblock plus en-US) *拡張をインストールした時何故か、同じ拡張機能名が2つリストにのり、一つは正常ですが、もう一つは削除も何も出来ない状態。(Adblock filterset.G updater) これら3つリストにありながら、右クリックしても「設定」「ホームページを表示」やら「無効」「削除」などメニューがクリックできない機能しないグレーの文字色の状態なんです。。 プロファイルを全く削除して全て再インストールするしか方法がないのでしょうか? それをするのがやはり億劫で何かファイルを操作してこのうっとうしい拡張機能リストの行を削除出来ないだろうか・・・と。思っております。 ネットで調べてみましたが、見つからずで、どなたかこちらで力になってくださいませんでしょうか? どうぞ、よろしくお願いいたします!
- ベストアンサー
- ブラウザ
- 関数内の配列$list[0]~$list[20]を、GETで渡したい
関数内で生成した配列$listを、GETで渡す方法ってあるでしょうか。 只の変数$hogeなら例えば $hoge = 'AAA'; ●●.php?$mode=sort&hoge2=$hoge でリンクし if($mode=="sort") 内で、$hoge2として扱えますが 配列$hoge[0]~$list[20]とかを渡すときはどうすればいいでしょうか。 メモリーが心配なので、できれば参照で渡したり、グローバル化して受け取るなどの方法を使いたいです。よろしくお願いします。
- ベストアンサー
- PHP
- STLを使わずに可変長配列を再現する方法
STLのlistが(配列に比べると)想像以上に遅かったので C++で可変長配列を再現したいのですけども 配列の拡張が思った以上に遅く困っています。 毎回newではオーバーヘッドが発生しますので、 現在は配列を一定数確保しておき 足りなくなったら配列を拡張(再確保)しています。 現在の配列のアドレスを一旦退避させてdeleteし、 新たにnewで生成して復帰させるといった感じです。 ただしこれでは、配列の要素数が増えるほど遅くなり、 オブジェクトの参照ならまだしも実体の場合は 全てコピーしなければならないので、 場合によってはSTLのlistよりも遅くなってしまいます。 newで生成してるのでできればreallocは使わずに 再現したいのですが、どうにか方法は無いでしょうか? よろしくおねがいします。 //----------------------------------------------- struct Test { int val; Test( int _val ){ val=_val; } }; Test obj1( 1 ); Test obj2( 2 ); Test obj3( 3 ); // 元のデータに代入 Test **ptr = new Test*[2]; ptr[0] = &obj1; ptr[1] = &obj2; // 退避させる Test **tmp = new Test*[2]; for( int i=0; i<2; i++ ) tmp[i] = ptr[i]; // 拡張する delete [] ptr; ptr = new Test*[4]; // 復帰させる for( int i=0; i<2; i++ ) ptr[i] = tmp[i]; delete [] tmp; ptr[2] = &obj3; //----------------------------------------------- ※NULLチェックなどはここでは省いています。
- 締切済み
- C・C++・C#
- listの maxsize()と size()の違いは・・・
listクラスのmaxsize()メンバとsize()メンバの違いは vectorクラスのcapacity()メンバとsize()メンバの違いと思っていいのでしょうか?
- ベストアンサー
- C・C++・C#
お礼
なるほど。。。こんな違いがあったんですね。とても勉強になりました!