問題タブ [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.
c++ - STLマップをトラバース/反復するにはどうすればよいですか?
STL マップをトラバースしたい。私はその鍵を使いたくありません。順序は気にしません。含まれているすべての要素にアクセスする方法を探すだけです。これどうやってするの?
c++ - マップのマップされた値を見つける
C++ でマップの (キーではなく) マップされた値を検索し、キーを返す方法はありますか? 通常someMap.find(someKey)->second
は値を取得するために行いますが、ここでは逆にキーを取得します (値とキーはすべて一意です)。
c++ - マップに挿入するための好ましい/慣用的な方法は何ですか?
に要素を挿入する 4 つの異なる方法を特定しましたstd::map
。
それらのどれが好ましい/慣用的な方法ですか? (そして、私が考えていない別の方法はありますか?)
c++ - std::map のキーにするために boost::variant を比較する方法は?
boost::variant を比較して std::map のキーにする方法は? boost::variant に operator<() が定義されていないようです
c++ - boost::tuple と std::map によるセグメンテーション違反
次のようなコードの使用に問題があります。
コンパイラはエラーを認識しません。しかし、プログラムを開始すると、奇妙なセグメンテーション違反が発生します。そのため、それを引き起こすコード行を見つけたかったのです。それからGDBは私に言った:
残念ながら、これまでのところ、この種の問題に対する解決策は見つかりませんでした。
私がここで見逃したものを見た人はいますか?
編集:それで、さらに調査を行いました。問題の原因となっているオブジェクトは、ユーザー定義のものです。そして実際には、ベクトルでもエラーが発生するため、ブースト関連のものもマップの使用法も原因ではないようです!
また、別のクラスでエラーを再現しようとしました。残念ながら、私はそこでエラーを引き起こすことができませんでした。
今gdbは私に言います:
コンパイラの設定が原因でしょうか?
c++ - std::map がオブジェクトの挿入に失敗する
私が作成しているプログラムは、さまざまな種類のリソースのアクセス プールを必要としますが、アクセスできるクラスはわずかです。リソース プールも独自のクラスです。そのため、リソース プールに静的クラスを使用し、この方法で他のユーザーにアクセスさせることにしました。
しかし、プールにリソースを追加する際に奇妙な問題が発生しています。各プールは std::map として表され、挿入後もマップは空のままです。これは、マップが静的クラス内にあることに関係していると思います。これが、ここで意図したとおりにマップが機能しない理由ですか?
リソース プールの関連コード
使用方法の関連コード
その結果、何も見つからないため、add は NULL を返します。テクスチャを使って何もしていないので、このプログラムはクラッシュしません。今のところ挿入をテストしているだけです。
c++ - ビルトインタイプのstd::mapデフォルト値
最近、std ::mapoperator[]関数に混乱しました。MSDNライブラリには、「引数のキー値が見つからない場合は、データ型のデフォルト値とともに挿入されます」と記載されています。私はこの問題の説明をもっと正確に検索しようとしました。たとえば、次のようになります 。std :: mapのデフォルト値 このページで、Michael Andersonは、「デフォルト値はデフォルトのコンストラクター(ゼロパラメーターコンストラクター)によって構築される」と述べています。
今、私の探求はこれに行き着きます:「ビルトインタイプのデフォルト値は何ですか?」。コンパイラ関連でしたか?または、c ++スターダード委員会によるこの問題の基準はありますか?
Visual Studio 2008で「int」タイプのテストを行ったところ、「int」タイプは値0で解釈されていることがわかりました。
c++ - find メソッドを使用した後に std::map を更新する方法は?
std::map
メソッドを使用した後にキーの値を更新するfind
方法は?
次のようなマップとイテレータの宣言があります。
マップを使用して、文字の出現回数を保存しています。
Visual C++ 2010 を使用しています。
c++ - std::map がキーの述語のように値を「編集」する方法はありますか?
すべての値に対して std::map の述語のようなものを作成できるかどうか疑問に思っているので、マップに挿入する前に値を編集する必要はありません。
私が欲しいのは次のようなものです:
コンテキストは、.ini ファイルの std::map を作成していて、それらを取得したいときに値から先頭/末尾の空白を自動的に削除したいということです。キーから大文字と小文字の区別と空白を無視する述語を既に作成しているので、値に対して同じことができるかどうかを知りたいです。
c++ - std::map キーと値へのアクセス
std::vector
のキーまたは値にどのようにアクセスしますstd::map
か?
ありがとう。
編集:コンテンツのコピーだけでなく、実際の要素にアクセスしたいと思います。基本的に、コピーではなく参照が必要です。
これは本質的に私がやりたいことです: