2017-12-11 4 views

答えて

3

クラスのコンストラクタでclear()を呼び出す必要はありません。

STLからの特定の方法はありません正確に知るための良い方法、それゆえ、なぜあなたはそれを呼び出す必要があり、のような良い参考サイト検索している:あなたはページを下に移動するとhttp://en.cppreference.com/w/cpp/container/map

clearメソッドを見つけ、リンクをたどった後、その機能の説明「すべての要素をコンテナから削除します。」このコンテナにまだ要素を追加しましたか?いいえ、このメソッドを呼び出す必要はありません。

さらに、初期化操作を実行していない場合、データメンバーがどのような状態にあるかをどのように知っていますか?この場合、メンバ変数のデフォルトコンストラクタであるstd::map m_mapが呼び出されるという保証があります。クラスのデフォルトのコンストラクタは、パラメータを取らないコンストラクタメソッド、またはすべてのパラメータがデフォルト値で提供されるコンストラクタメソッドです。ここでも、指定されたリファレンス・ウェブサイトには、デフォルトのコンストラクタ「1)デフォルト・コンストラクタ」があります。空のコンテナを作成します。したがって、あなたのコンテナ(および他の多くのSTLコンテナ)は、クリアすることなく、すぐに使用することができます。

関連する問題