問題タブ [emplace]
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++11 - c++11 operator[] はマップ挿入時の emplace と同等ですか?
C++11 の場合、以下の間にパフォーマンスの違いはまだありますか?
(std::map<Foo, std::vector<Bar> >
例として)
私が理解していない部分は、operator[] の正確な内部です。これまでの私の理解は(キーが存在しない場合):
- マップ内に新しいキーと関連する空のデフォルト ベクトルを作成します。
- 関連付けられた空ベクトルの参照を返します
- myVector を参照に割り当てる???
ポイント3は私が理解できなかった部分ですが、そもそも参照に新しい値をどのように割り当てることができますか?
ポイント3を整理することはできませんが、何とかコピー/移動が必要だと思います。C++11 が移動操作になることを知るのに十分スマートであると仮定すると、この "[]" 割り当て全体は、insert() よりもすでに安価ですか? emplace() とほぼ同等ですか? ---- デフォルトの構築とコンテンツの移動と、コンテンツを直接配置した構築ベクトルとは?
c++ - c++ unordered map emplace 無効な引数
この地図があれば
なぜ私はこれを行うことができます:
しかし、私はこれを行うことはできません:
無効な引数 ' 候補は次のとおりです: ? emplace(#10000(...) && ...) ' なぜこれが起こるのかわかりません。助けてくれてありがとう。
c++ - std::vector<>::emplace_back() の例外は安全ですか?
で例外がスローされるとどうなりstd::vector<>::emplace_back()
ますか?
例えば:
と
ベクトルには最初の Foo オブジェクトだけが含まれていると思います。
これは事実ですか?そして、これは標準によって保証されていますか?
また、メモリリークが発生する可能性はありますか?
c++ - 特定のキーの順序付けられていないマップの値を編集する
以下は、マガジン内の単語数を取得する C++ コードです。値が存在しない場合は単語を追加し、存在する場合はインクリメントしようとしています。
しかし、出力しようとすると、すべてのマガジン キーが値として 0 を返します。理由はありますか?
c++ - C++ プログラムのプロセスによるメモリ使用量
私のC ++プログラムで私が使用する
マップに 1000000 要素を追加し、プロセスのメモリ使用量をループで時々チェックしました
次に、マップから要素を 1 つずつ消去して、プロセスの RSS メモリ使用量を再度出力します。
このメモリ使用関数を使用して
私は本当に理解できないこの結果を思いついた。
私が感じているのは、マップからキーと値のペアを削除するときにメモリを解放する必要があるということですが、ご覧のとおり、最終的にマップを削除(解放)するまでメモリは解放されません
c++でそれがどのように起こるかを説明できる人がいます.c++ map::emplace,erase関数のドキュメントを見ましたが、これについての手がかりはありません..