007
12.03.2007, 14:28 Uhr
RHBaum
|
glaub fuer den iterator ist kein operator + (unsigned int ) definiert. Also iteration nur in einzelschritten.
Mehrfachschritte sollten auch nur bei vectoren functionieren, und fuer nen quasi indizierten zugriff brauchst wiederum keine iteratoren ....
besser also, wenn es sich um nen vector handelt:
C++: |
Window* Manager::get_window(const unsigned int& id) { return id < m_windows.size() ? m_windows[id] : NULL; }
|
short solltest nur nehmen, wenn der platz wirklich knapp ist, bzw du structuren befuellst wo du mit anderen membern auf kleinen speicherverbrauch kommen willst. short verringert zwar den verbrauch im speicher, erzweugt aber unnötige rechenlast wenn du damit arbeitest (32 bit systeme sind aufs arbeiten mit 32bit integers optimiert.)
sicher das er dich beim size() raushaut ? wuerde bedeuten das dein container m_windows(wie ist der angelegt ?) eigentlich zersteort ist, was ich mir ned vorstellen kann ....
Ciao ... Dieser Post wurde am 12.03.2007 um 14:29 Uhr von RHBaum editiert. |