Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Список CList


Автор: Yujen 3.3.2004, 12:01
есть тако списочек:
CList<TvtiRecord*,TvtiRecord*> FData;

но есть проблема, могу получить из списка:
или POSITION s = FData.GetHeadPosition();
или POSITION s = FData.GetTailPosition();

Record = (TvtiRecord*)FFldInfo.GetAt(s);

а как получить промежуточные, или находящиеся в 12 позиции


Автор: Borisff2003 3.3.2004, 14:00
Список можно обходить только последовательно
POSITION s = FData.GetHeadPosition();

Record = (TvtiRecord*)FFldInfo.GetNext(s); и так столько раз пока не найдешь что надо
только за FFldInfo.GetCount() не вылези, после последнего елемента будет возвращать NULL

Автор: mr.DUDA 3.3.2004, 17:48
А вот и неправда smile.gif
MSDN
Цитата
// Define myList.
CList<CString,CString&> myList;

// Add three elements to the list.
myList.AddTail(CString("XYZ"));
myList.AddTail(CString("ABC"));
myList.AddTail(CString("123"));

// Verify the 3rd element (index 2).
CString str = myList.GetAt(myList.FindIndex(2));


Причём поиск происходит быстрее, чем при переборе - за счёт того, что CList хранит данные в блоках (plex-ах).

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)