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 setzt

    stimmt schon so... warum sollte das nich gewollt sein

    ich würd dir aber raten deque<CObject*> einzusetzen
    CObList is in der benutzung recht umständlich

    deque<CObject*> dq;
    dq.push_back(pFileRecord);
    for(int i=0;i<dq.size();i++)
      dq[i]->DoSomething();
    

Anmelden zum Antworten