Es ist nicht notwendig, clear() im Konstruktor Ihrer Klasse aufzurufen.
Ein guter Weg, um genau zu wissen, was aus der STL eine bestimmte Methode der Fall ist, und somit, wann und warum Sie es nennen sollte, ist durch eine gute Referenz-Website wie die Suche: http://en.cppreference.com/w/cpp/container/map
Wenn Sie navigieren Sie die Seite , finden Sie die clear
Methode, und nach dem Folgen des Links, eine Beschreibung der Funktionalität "Entfernt alle Elemente aus dem Container." Haben Sie diesem Container schon Elemente hinzugefügt? Nein, also muss diese Methode nicht aufgerufen werden.
Außerdem: Woher wissen Sie, in welchem Status sich ein Datenelement befindet, wenn Sie keine Initialisierungsoperation ausführen? In diesem Fall gibt es eine Garantie, dass der Standardkonstruktor einer Membervariable, die Variable std::map m_map
, aufgerufen wird. Der Standardkonstruktor einer Klasse ist die Konstruktormethode, die keine Parameter akzeptiert oder bei der alle Parameter über Standardwerte bereitgestellt werden. Die angegebene Referenzwebsite gibt erneut den Standardkonstruktor "1) Standardkonstruktor an. Konstruiert einen leeren Container." So ist Ihr Container (und viele der anderen STL-Container) perfekt für den sofortigen Einsatz, ohne zu räumen.