Fragen zur CObList
-
hi ich habe da eine frage,

so füge ichein Item ein// add pFileRecord to ObList
m_FileObjectList.AddTail(pFileRecord);
- das klappt auch wunder bar nut beim auslesen komm ich ins grübeln...
1. Mein Objekt befindet sich doch jetzt in der Liste oder?
und ist auch nicht mehr pber pFileRecord direkt angreifbar...?2. so hole ich sie raus:
for ( int i=0; i<m_FileObjectList.GetCount(); i++)
{
CFileRecord* pFileRecord;
POSITION pos = NULL;
pos = m_FileObjectList.FindIndex(i);
if (pos == NULL)
MessageBox ("FindIndex hat NULL zurückgegeben");pFileRecord = (CFileRecord*)m_FileObjectList.GetAt(pos);
pFileRecord->DoSomething();
}
3. ISt das korrekt was ich jetzt tue ist doch auf ein 2tes Objekt zeigen und das aus dem aus der Liste besetzen???
ich weiss nicht aber irgendwie glaube ich hat man dies nicht gwewollt in der Objektorientierung
-
"nicht mehr pber pFileRecord direkt angreifbar...?"
doch... solang du den zeiger nich auf nen anderen wert setztstimmt schon so... warum sollte das nich gewollt sein
ich würd dir aber raten deque<CObject*> einzusetzen
CObList is in der benutzung recht umständlichdeque<CObject*> dq; dq.push_back(pFileRecord); for(int i=0;i<dq.size();i++) dq[i]->DoSomething();