問題タブ [qmap]

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.

0 投票する
1 に答える
3481 参照

qt - ネストされたQMapとQListでは、append/push_backが許可されません

ネストされたQListを利用しようとしています:

コンパイルすると、次のようになります。1>。\ main.cpp(154):エラーC2662:'QList :: push_back':'this'ポインタを'const QList'から'QList&'に変換できません

私が見落としているのは単純なことだと確信しています。あるいは、私を避けているもっと単純な解決策があるかもしれません。どんな助けでも大歓迎です。

0 投票する
2 に答える
2228 参照

c++ - このように QMap で挿入を呼び出せないのはなぜですか?

Qt SDK 4.7.4 for Desktop - MinGW 4.4 で次のコードをコンパイルしようとすると、次のコンパイラ エラーが発生します。

std::stringこれをとを使用して同等の例に変換しstd::mapて、同じ効果を得ようとしました。Qt バージョンを提示したのは、それがよりコンパクトであり、最終的に私のプロジェクトが必要とする形式であるためです。が最終的に
どのように解釈されるかについて、何かが欠けているだけだと思います。typedef2 番目の引数がinsertどうやらBuffer *(not Buffer(*)[4]) になっているのはなぜですか?どうすれば修正できますか?

0 投票する
1 に答える
6358 参照

c++ - QDeclarative を使用して QMap を QML に公開する方法

QMap を C++ から QML に公開するにはどうすればよいですか? QList を使用すると、QDeclarativeListProperty を使用できます。

0 投票する
2 に答える
888 参照

qt - QMap で欠落しているキーを見つける

私はqmap<int , Myclass*>

キーの範囲は1n_maxです。

マップに挿入するときは、利用可能な最も低い未使用のキーを知る必要があります。

たとえば、マップに含まれている場合

<1、オブジェクト1>

<3、obj3>

マップに次のアイテムを挿入するとき、キーを 2 に割り当てたいと思います

これを行う最も効率的な方法は何ですか

よろしく

0 投票する
4 に答える
5225 参照

c++ - QMapまたはQHashのQSet

私は持っていて、その鍵QMap を作りたいのですが、比較QSetできないのでそれはできませんでした。QSet例えば:

それを機能させる方法はありますか?継承しQSetて定義する場合、operator <どのように実装すればよいですか?すなわち:比較の論理はどうあるべきですか?

注:パフォーマンスが気になりすぎます

0 投票する
5 に答える
10235 参照

c++ - ネストされた QVariantMap への割り当て

ネストされた QVariantMap 内の QVariant に割り当てようとしています。最初の qDebug() は何も出力しませんが、2 番目は期待どおり "asdf" を出力します。ネストされた変数マップの「バー」キーを値に割り当てるにはどうすればよいですか?

0 投票する
1 に答える
1794 参照

c++ - QString を使用すると QMap::remove 後にクラッシュする

次のコードがあります。

ここでは、キー (userId) によって QMap から要素を削除しようとしています。要素が正しく削除されました。しかし驚くべきことに、QMap::remove の後に userId を印刷するとクラッシュします。

問題の原因は何ですか? 私はQt 4.4.3を使用しています

0 投票する
1 に答える
389 参照

c++ - c ++ Qt定数違反?

インスタンス化されたインスタンスがQMap/Mapに格納され、Key:int、value:orderパターンを持つクラスordersがあります。マップを反復処理してクラスの関数にアクセスし始めるまで、すべてがうまくいきました。最初に、たとえば次のgetterメソッドを使用してorderオブジェクトの値を出力しようとしました。

ただし、これによりエラーが発生しました

次に、getterメソッドに「const」を追加することでこれを修正しました。前のコード行は正常に実行され、そのオブジェクトの日付が文字列として出力されます。

ただし、問題は、同じエラーが発生するため、setterメソッドを実装できないことです。明らかに、setterメソッドには、元のメンバー変数を変更する行があるため、これ自体が定数ルールに違反するため、オブジェクトを変更するにはどうすればよいですか。マップ内の変数??

それが役立つ場合は、ここに私のコードがあります:

0 投票する
1 に答える
798 参照

c++ - qmapがobrb-treeの代わりにスキップリストを使用するのはなぜですか?

QMapがrb-treeではなくスキップリストのデータ構造で実現したのはなぜですか?並行性データ構造体とスキップリストの利点については、rb-tree、長所、短所よりも非常に興味深いSOスレッドがあります。それは確かに有用なリンクを備えた非常に興味深いダイアログですが、QMapはスレッドセーフではなく、箱から出してアクセスを同期するためのミューテックスロックを行いません。ラッパーまたはサブクラス化が必要です。

私にとっては、rb-treeの代わりに「手作り」のスキップリストを書くのは簡単ではないので、これも明らかではありません。

スレッドセーフではないQtコンテナのコンテキストでkill機能はありますか?

事前にTnx。

0 投票する
2 に答える
3550 参照

c++ - 関数ポインタをQMap(Qt)に挿入します

QtでRESTAPI用のルーターのようなものを作成していますが、関数ポインターをQMapに挿入する際に問題が発生します。

IModule他のモジュールの派生元のクラスがあります。の重要な行IModule.h

次に、ファイルUserModuleから派生したものがあり、次の行があります。IModule.cpp

そこで、記号を参照せずに関数をQMapに配置する方法を2つ試しましたが、どちらも機能していません。エラーが発生しています:no matching function for call to 'QMap<QString, QByteArray* (*)(IBus*, ProxyRequest*)>::insert(const char [5], QByteArray* (UserModule::*)(IBus*, ProxyRequest*))'

私はこの問題に数時間を費やし、それを解決する方法をさまざまな方法で試しましたが、成功しませんでした。

ですから、アドバイスをいただければ幸いです。