std::map
を使用する前に消去する必要があるかどうかを知りたいですか?たとえば、次のコードでコンストラクタでm_map.clear
を呼び出す必要がありますか?cppのstd :: mapを使用する前にクリアする必要がありますか?
0
A
答えて
3
クラスのコンストラクタでclear()を呼び出す必要はありません。
STLからの特定の方法はありません正確に知るための良い方法、それゆえ、なぜあなたはそれを呼び出す必要があり、のような良い参考サイト検索している:あなたはページを下に移動するとhttp://en.cppreference.com/w/cpp/container/map
をclear
メソッドを見つけ、リンクをたどった後、その機能の説明「すべての要素をコンテナから削除します。」このコンテナにまだ要素を追加しましたか?いいえ、このメソッドを呼び出す必要はありません。
さらに、初期化操作を実行していない場合、データメンバーがどのような状態にあるかをどのように知っていますか?この場合、メンバ変数のデフォルトコンストラクタであるstd::map m_map
が呼び出されるという保証があります。クラスのデフォルトのコンストラクタは、パラメータを取らないコンストラクタメソッド、またはすべてのパラメータがデフォルト値で提供されるコンストラクタメソッドです。ここでも、指定されたリファレンス・ウェブサイトには、デフォルトのコンストラクタ「1)デフォルト・コンストラクタ」があります。空のコンテナを作成します。したがって、あなたのコンテナ(および他の多くのSTLコンテナ)は、クリアすることなく、すぐに使用することができます。
関連する問題
- 1. std :: mapは初期化する必要がありますか?
- 2. std :: map <struct, int>デストラクタが必要ですか? cppのクラスXで
- 3. boost :: shared_ptrまたはstd :: shared_ptrを使用する前にチェックする必要がありますか?
- 4. QScopedPointerまたはstd :: unique_ptrを使用する必要がありますか?
- 5. いつstd :: atomic_compare_exchange_strongを使用する必要がありますか?
- 6. フロートをいつクリアする必要がありますか?
- 7. ostringstreamオブジェクトをクリアする必要がありますか?
- 8. POSタギングの前にストップワードフィルタリングを使用する必要がありますか?
- 9. std :: stringへのポインターを使用する必要があります
- 10. std :: vector honor alignof(value_type)する必要がありますか?
- 11. エラー「使用する前にUnitOfWorkManagerを設定する必要があります」
- 12. std :: fstreamを閉じる必要がありますか?
- 13. コンボボックスでDuplicatesをクリアする必要があります。
- 14. setStateを使用してクリアする前に、入力が空であるかどうかを確認する必要がありますか?
- 15. グローバル変数を使用する必要がありますか?
- 16. std :: mapをstd :: mapのキーとして使用する
- 17. Sming IDE(ESP8266)でstd :: mapを使用する方法はありますか?
- 18. オンラインゲームにTCPを使用する必要がありますか?
- 19. MVVMにDataTemplatesを使用する必要がありますか?
- 20. ページレイアウトにapplication.html.erbを使用する必要がありますか?
- 21. ctagsにバージョンコントロールを使用する必要がありますか?
- 22. dlopenの前にロックする必要がありますか?
- 23. なぜレンダリング中にOpenGLのデプスバッファをクリアする必要がありますか?
- 24. ユーザが離れるとタイムアウトをクリアする必要がありますか?
- 25. コードログインするにはIgniterのクッキーをクリアする必要があります
- 26. DreamweaverのSpryを使用する必要がありますか?
- 27. どのレイアウトマネージャを使用する必要がありますか?
- 28. アクティビティのサブクラスを使用する必要がありますか?
- 29. フォントのパスを使用する必要がありますか?
- 30. xlibの "XAllocSizeHints()"を使用する必要がありますか?