問題タブ [stdlist]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - オブジェクト ポインタの std リストからオブジェクトを消去します
プレーヤーのリストを処理するクラス Lobby があります(これは抽象クラスであり、純粋な仮想メソッドのみです)。今、次のことを試みました:
私はいつも 2 つのエラーを受け取りますが、それらを解決する方法がわかりません。
私は C++ の初心者ですが、基本クラスのポインターのリストを使用すれば動作するはずだと思いました。
c++ - C++ 型 T にコンストラクターが必要な場合、型 T の std::list を作成することは可能ですか?
例えば:
リンゴの種類ごとにたくさんのリストを作りたい場合は、 のようなことができると思いstd::list<apple> empire("empire"), macintosh("macintosh")
ました。list<T>
基本的に、リストを作成するときに宣言されたクラス T のコンストラクターに引数を渡したいと思います。私がこれを正しく説明していない場合は申し訳ありませんが、その能力があれば私の質問を自由に編集してください。
ありがとう
編集この質問は混乱しているようで、おそらく私が悪い例を挙げたためです。クラスを再設計する必要があります。この例に続いて、私が欲しかったのは、すべて帝国のリンゴであり、そのリスト内の各リンゴには指定されたタイプの帝国があるリストと、すべてマッキントッシュのリンゴであり、そのリスト内の各リンゴには指定されたタイプのマッキントッシュがあるリストです。
したがって、いくつかを明確にするか、さらに混乱させるために、ここに行きます。
ご覧のとおり、毎回保存するよりも一度保存する方が簡単です。私のクラスは明らかに再設計が必要ですが、それによって回答が有効でなくなることはありません。皆様、ご協力ありがとうございました
c++ - std::list::remove_if( function()::predicate ) の呼び出しに一致する関数がありません
では、関数内で述語を定義してstd::list::remove_if
引数として使用することは許可されていませんか?
コンパイルに失敗する次のコードを検討してください。
今、私l.remove_if( pred() );
が
これremove_if
は内部的に実行され、コンパイルされ、期待どおりに動作します。
さらに、メインの外struct pred
で定義されるように移動すると、両方のテストが期待どおりに機能します。
これは私には意味がありません。
従属名とかADLとかそういうのかなと思ったのですが… の引数が型でremove_if
はなくインスタンスです。確かに、これはテンプレート関数であり、引数の型はまだ解決されていますが..
誰かが何が、なぜ起こるのか説明できますか?
c++ - C++ - エラー: 'list' に型の名前がありません (クラスのメンバー変数としてオブジェクトをリストします)
「'xxx' はタイプに名前を付けていません」というエラーが何度も発生しており、以前に読んだほとんどの投稿では、このエラーは依存関係の問題で発生すると述べています。しかし、私は私のものを見つけることができないようです。これが私が得たものです:
GameLib.h
PlayerGroup.h
PlayerGroup.cpp
PlayerGroup クラスの両方のリスト メンバー変数でこのエラーが表示されます。
事前にすべての助けをありがとう!
c++ - std::list C++に格納されている構造体のプロパティを見つける
事前定義されたリストからデータを取得しようとしています。
私は次の構造体を持っています:
次のリストを作成しています。
たとえば、id
有効でないファイルまたはすべてのファイルを検索しようとしていますが、イテレータでリストをループせずに実行できますか?
c++ - リスト内のオブジェクトが消去された後、そのメンバー変数にアクセスできるのはなぜですか?
結果は次のとおりです。
私は通常、リスト内のオブジェクトを消去した後、thar オブジェクトのメンバー変数にアクセスできなくなると考えています。しかし、上記では、何を指してc->m_a
いるオブジェクトを消去した後でもアクセスできます。なぜですか?c
c++ - スタックまたはヒープ変数の作成に使用される順序
私はこのコードを持っています:
「77」を出力します。P 構造体の演算子 () は、その引数に 3 による除算の余りがない場合に true を返すため、「75」が出力されると予想していました。 7つのうち)。何か不足していますか?
ありがとう。
c++ - C++ で STL のリストに要素を格納する方法
C++ の標準テンプレート ライブラリのリストについて読んでいました。インデックスを使用して要素にアクセスできないことを読みました。リストがどのようにメモリに保存されているか教えてください。シーケンシャルですか?リンクされたリストがどのように実装されているかを知っています。STL のリストも同じように実装されていますか? つまり、ポインタは次の要素のアドレスを持つことになりますか?
その場合、イテレータのインクリメントはどのようにしてリスト内の次の要素を指すことができますか? イテレータのインクリメント演算子がオーバーロードされていますか?