問題タブ [qlist]
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++ - Qt の文書化されていないメソッド setSharable
QList
、、QQueue
のようQHash
なすべてのデータオブジェクトに存在するように見えるメソッドについてつまずいた
これまでに調べたところ、ソースコードを見ることができます。
qlist.h 内( 117 行目)。
QList
しかし、それは、QQueue
、QHash
...にどのような影響を与えるのでしょうか? そして、それは何らかの形でスレッド化に関連していますか (これは合理的に聞こえます)?
回答ありがとうございます。実際の知識がある場合にのみ回答してください。
qt - QListが大きくなりすぎると、アプリがクラッシュします
計算性能を向上させるために、メモリに大量のデータを格納する必要のあるアプリケーションを作成しています。
これは、リストとオブジェクトの階層であり、最上位のオブジェクトはです。データをロードすると、のインスタンスが多数作成され、リストに追加されます。メモリ消費量が増加し、約1.9Gbになるとプログラムがクラッシュします。私のコンピューター(Vista)には4Gb RAMがあり、RAM(XP)が少ない他のコンピューターでテストしたところ、同じ時点でクラッシュしました。1.9Gbを超えるRAMを使用することはできませんか?QList<myObject*>
new myObject*
小さいファイルが読み込まれ、「Windowsタスクマネージャー」によるメモリ使用量が(たとえば)1.2Gbの場合、データを処理できます。しかし、別のファイルをロードしたい場合は、delete
すべてのオブジェクトを呼び出してリストをクリアした後でも、1.2Gbから成長が始まります。なんで?
に切り替えてQVector
呼び出してみましsqueeze()
たが、メモリは同じままです。QListsでの動的メモリ割り当てに関する他のスレッドをここで読みましたが、新しいファイルをロードする前にメモリをリセットする方法は本当にありませんか?特に1.9Gb後にクラッシュするため。3つの小さなファイルを順番にロードして、そこにいます。
提案をありがとうございました。
c++ - QList へのポインタの追加
(QObject から継承された) クラスのポインタを QList に挿入する必要があります。次の構文を使用できることを知っています。
.h
.cpp
次に、メモリを解放します。
これは有効である必要があり、メモリ リークは発生しません (私の知る限り)。ただし、オブジェクトをコレクションに追加する前に、オブジェクトを初期化する必要があります。次のコードは、メモリ リークやダングリング ポインターなどのエラーを引き起こす可能性がありますか (上記と同じ方法でポインターを削除します)。
ありがとう。
c++ - Qtでリストをマップできますか?
これはすでにかなり簡潔ですが、Rubyでリストをマップできれば素晴らしいと思います。「12.3」、「-213.0」、「9.24」などを含むQStringList
myStringListがあるとします。toDouble
反復することなく、を使用して全体を単純にマップしたいと思います。Qtにはこれを行う方法がありますか?
c++ - C++ QList 継承のカスタム メソッドの問題
継承によって AccountList と呼ばれるタイプ Account* のカスタム QList を作成しています。
AccountList のインターフェイス宣言は次のとおりです。
findAccount メソッドなどの AccountList の実装に問題があります。
上記の方法で、私が達成しようとしていることのアイデアが得られることを願っています。かなり単純で簡単に思えますが、うまくいきません。Qt Creator コンパイラは、コンパイル時にあらゆる種類の奇妙なエラーを表示します。
どんな助けでも大歓迎です。
c++ - 定数クラスメンバー、代入演算子、QList
私が正しければ適合し、より良い解決策があるかどうか教えてください:
のような定数メンバーを持つオブジェクトint const width;
は、コンパイラによって暗黙的に作成される合成代入演算子では処理できないことを理解しています。しかし、QList(そして私はstd :: listもそうだと思います)には、実用的な代入演算子が必要です。したがって、定数メンバーとQListを持つオブジェクトを使用する場合、次の3つの可能性があります。
- 定数メンバーは使用しないでください。(解決策ではありません)
- 自分の代入演算子を実装します。
- 代入演算子を必要としない他のコンテナを使用する
あれは正しいですか?他にエレガントな解決策はありますか?
また、私は私ができるかどうか疑問に思います:
- (4)コンパイラに定数メンバーを処理する代入演算子を作成させます!(なぜこれがそんなに大きな問題なのかわかりません。なぜオペレーターは初期化リストを内部で使用するのに十分な知性を持っていないのですか?それとも何かが足りないのですか?)
- (5)リストで代入演算を使用しないことをQListに伝えます。
編集:私はこのクラスのオブジェクトを自分で割り当てることはありません。これらは、コピーコンストラクターまたはオーバーロードされたコンストラクターによってのみ作成されます。したがって、代入演算子は、私自身ではなく、コンテナによってのみ必要とされます。
EDIT2:これは私が作成した代入演算子です。それが正しいかどうかはわかりませんが。Cellには2つのパラメーターコンストラクターがあります。これらのパラメーターは、初期化リストを使用して2つの定数メンバーを設定します。ただし、オブジェクトには他の変数(非const)メンバーも含まれています。
EDIT3:私はこのスレッドをほぼ同じ質問で見つけました:C ++:constクラスメンバーとのSTLトラブルすべての答えを組み合わせて私の質問に答えました。
qt - QT:QTextStreamをQListに保存します
複数のファイル(ランダムな数のファイル)を同時に開き、他のコードで簡単に使用できるように、それらのテキストストリームをqlistに保存しようとしています。
だから私はエラーがあります:
何を修正すればよいですか?非常に単純な質問であることは理解していますが、Googleの正しいクエリが見つかりません:(
qt - QListに追加されたオブジェクトは、すべてのメンバーデータを失います
ControlIconというカスタムクラスのQListを作成しています。ControlIconsを作成し、それらにメンバー変数をロードしてから、リストに追加します。追加コードは次のとおりです。
this->cueList.append(firstOne);
QListの宣言は次のとおりです。
QList< ControlIcon *> cueList;
追加の直後に中断すると、追加されたばかりのControlIconがメンバーでいっぱいで、正常に表示されていることがわかります。リストを見ると、追加された(そして、ControlIconを追加する)ControlIconにはメンバーがまったくありません。以前にカスタムオブジェクトのQListを作成したことがあるので、非常に混乱しています。誰か助けてもらえますか?
c++ - QTライブラリを使用したC++のこのコード行に相当するものは何ですか?
宣言を考えると
以下に示す関数のコード行はどういう意味ですか。