std::map::iterator::second - Zuweisung sicher?
-
Hallo.
Ist es sicher und valid folgendes zu machen?map<int, unsigned long*>::iterator it = this->m_Offsets.find(myInt); if (it == this->m_Offsets.end()) { this->m_Offsets[myInt] = myULong; } else { delete[] it->second; it->second = myULong; }Gruß & Danke!
-
ich würde mal sagen, dass das delete[] falsch ist und du delete verwenden solltest - dazu müsste man aber erst mal sehen, wie du das objekt erzeugt hast.
myULong klingt so und so nicht nach nem array - wieso dann also der umweg über pointer?
bb
-
Ja. Da allerdings der Elementzugriff selbst prüft, ob ein bestimmter Schlüssel schon verhanden ist, scheint mir das doppelte Arbeit zu sein.
unsigned long*& v = m_Offsets[myInt]; delete [] v; v = myULong;
-
Danke!
Gruß