問題タブ [stdmap]

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 投票する
3 に答える
1745 参照

c++ - std::mapのユニットテスト

テストする単体テストをどこで見つけることができるか誰か知っていますstd::mapか?

私が尋ねる理由は、私がの代わりとしてstd::map機能し、実質的にすべて同じ機能を備えたクラスを作成したためです。したがって、ユニットテストはstd::map私のクラスにも適しています。

もちろん、私は自分で書くこともできますが、誰かがすでにこれについて広範なテストを書いているなら、それは私に多くの時間を節約し、うまくいけば私が見逃したかもしれないことをカバーするでしょう。

ありがとう。

0 投票する
7 に答える
69305 参照

c++ - std::list の違いは何ですかおよび std::map C++ STL で?

std::list<std::pair>とはどう違いstd::mapますか?findリストの方法もありますか?

0 投票する
3 に答える
1835 参照

c++ - ソートされた std::list の std::pair を std::map に変換する方法

を持っていますがstd::list< std::pair<std::string,double> >、これは に従ってソートされていることがわかっていstd::string elementます。

要素にstd::find_if基づいて多くのことをしたいので、 withとがより適切であると考えています。std::stringstd::map<string,double,MyOwnBinaryPredicate>lower_boundupper_bound

事実は、効率的な方法でinsert要素を追加したいということです。std::mapしたがって、追加のイテレータを使用して高速化したいと考えていinsertます。

最も簡単な方法は、 を使用しconst_reverse_iteratorて を通過し、 のをstd::list使用することだと思います。begin()std::map

このようにしますか、それとも悪い考えですか?

ありがとう!

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

c++ - std::map および -fno-implicit-templates

g++ 4.4 でコンパイルし、STL を使用する単純なプログラムをリンクしようとしています。-fno-implicit-templatesを使用して実行しようとしているため、すべてのテンプレートを明示的にインスタンス化する必要があります。

このコードが機能する理由がわかりません:

このプログラムには次の行が必要だと思います: template class std::map<char,char>;、しかし、その行はプログラムをリンクしません。std::_Rb_tree lineが必要です。なんで?

事前に感謝します。ヒントをいただければ幸いです。

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

c++ - std::map での (数学的な) ベクトルの使用

関連:キーとして何を使用できますか?std::map

空間内の特定の主要な位置がオブジェクトのリストにマッピングされるマッピングを作成する必要がありました。 std::mapやり方だったようです。

だから私はstd::mapxyzにキーを打っていますVector

、そして私は を作っていstd::map<Vector, std::vector<Object*> >ます。したがって、ここでのキーは ではなくstd::vectorそのオブジェクトはclass Vector、私自身が作成した数学 xyz ベクトルであることに注意してください。

「厳密に弱い順序付け」を生成するために、次のオーバーロードを に記述しましたoperator<

少し長いですが、基本的には、どのベクトルも一貫して他のどのベクトルよりも小さいと言えるようになっています ((-1, -1, -1) < (-1,-1,1), and (-1, - 1, 1) > (-1,-1,-1) など)。

私の問題は、これは本当に人為的であり、コード化して機能しますが、この本当に奇妙で人為的な非数学ベースの「未満」の概念で、Vector クラスを (数学的に) 「汚染」していることに気付きました。ベクトルの場合。

しかし、空間内の特定のキー位置が特定のオブジェクトにマップされるマッピングを作成する必要があり、std::map がそれを行う方法のようです。

提案?すぐに使えるソリューションを歓迎します!!

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

c++ - std :: mapで各ノードの深さを見つける方法は?

独自の二分木を構築すると、各ノードの深さを見つけることができます。サンプルコードは次のとおりです

しかし、不思議に思うのは、マップはBツリーなので、これに似たものをaに書くことは可能std::mapですか?

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

c++ - std::map および _CrtIsValidHeapPointer エラー

std::map を使用しようとしています

クラス内で Test() を呼び出すと、_CrtIsValidHeapPointer をアサートするエラーが発生します...
ブレークポイントでチェックしたところ、割り当て中に (m_map[1] = myDEMO;) DEMO のデストラクタが呼び出され、エラーが発生しました[] m_array を削除します。- これを実行するにはどうすればよいですか?

0 投票する
6 に答える
823 参照

c++ - char*変数で検索しても機能しません

これでメモリエラーが発生する理由を知りたいのですが:

問題はchar*value = aMap.find(keync)->secondに表示されます

手動でchar*value = "key0"を入力すると、機能します!!!

0 投票する
3 に答える
6134 参照

c++ - std :: map :: insert(...)のセグメンテーション違反

私は検索を使用しましたが、満足のいく答えが見つかりませんでした...だから..これはコードのチャンクです:

そして私がそれをどのように使うか:

何をするかに関係なく、セグメンテーション違反が発生します。

最初にstd::map :: find(...)を使用しようとしましたが、同じ結果になりました。バックトレース:

セグメンテーション違反の理由は引数だと思います__y=@0x758948f87d894905。なんでこんなのかわからない!その時点で、m_votesマップは空です。提案してください...

Matthieu M.が言うように、最も可能性の高い理由は初期化されていない値です__y=@0x758948f87d894905が、__yタイプはありますorder_id_tが、Vote

私はコードを書き直そうとしました:

これは私の問題を解決しなかったので、問題は私のタイプにはありません...

これがコード呼び出しregisterVote()メソッドです。

昨日、コードに問題がないことがわかりました。std :: mapを他のstl構造に置き換えましたが、結果は同じでした!そのコードからstlを削除し、segfaultはVoteコンストラクターにありました。このクラスを削除し、segfaultは私のコードの他のstl構造にありました。それは何ですか?お願い助けて。

私は私の問題の理由を見つけました、それはこのコードではありません。問題は私の前のコードにありました。このディスカッションに参加していただき、ありがとうございます。

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

c++ - 2 つの STL マップをマージするにはどうすればよいですか?

2 つの STL マップを 1 つにマージするにはどうすればよいですか? どちらも同じキーと値の型 ( map<string, string>) を持っています。キーの重複がある場合は、いずれかのマップを優先したいと思います。