CList
Klasa
Obsługuje uporządkowane listy obiektów nieudostępnianych sekwencyjnie lub według wartości.
Składnia
template<class TYPE, class ARG_TYPE = const TYPE&>
class CList : public CObject
Elementy członkowskie
Konstruktory publiczne
Nazwa/nazwisko | opis |
---|---|
CList::CList |
Tworzy pustą uporządkowaną listę. |
Metody publiczne
Nazwa/nazwisko | opis |
---|---|
CList::AddHead |
Dodaje element (lub wszystkie elementy na innej liście) do nagłówka listy (tworzy nową głowę). |
CList::AddTail |
Dodaje element (lub wszystkie elementy na innej liście) do końca listy (tworzy nowy ogon). |
CList::Find |
Pobiera położenie elementu określonego przez wartość wskaźnika. |
CList::FindIndex |
Pobiera pozycję elementu określonego przez indeks oparty na zerze. |
CList::GetAt |
Pobiera element na danej pozycji. |
CList::GetCount |
Zwraca liczbę elementów na tej liście. |
CList::GetHead |
Zwraca element główny listy (nie może być pusty). |
CList::GetHeadPosition |
Zwraca położenie elementu głównego listy. |
CList::GetNext |
Pobiera następny element do iteracji. |
CList::GetPrev |
Pobiera poprzedni element na potrzeby iteracji. |
CList::GetSize |
Zwraca liczbę elementów na tej liście. |
CList::GetTail |
Zwraca element końcowy listy (nie może być pusty). |
CList::GetTailPosition |
Zwraca położenie elementu końcowego listy. |
CList::InsertAfter |
Wstawia nowy element po danej pozycji. |
CList::InsertBefore |
Wstawia nowy element przed daną pozycją. |
CList::IsEmpty |
Testuje pusty warunek listy (brak elementów). |
CList::RemoveAll |
Usuwa wszystkie elementy z tej listy. |
CList::RemoveAt |
Usuwa element z tej listy określony przez pozycję. |
CList::RemoveHead |
Usuwa element z nagłówka listy. |
CList::RemoveTail |
Usuwa element z końca listy. |
CList::SetAt |
Ustawia element na danej pozycji. |
Parametry
TYPE
Typ obiektu przechowywanego na liście.
ARG_TYPE
Typ używany do odwołowania się do obiektów przechowywanych na liście. Może to być odwołanie.
Uwagi
CList
listy zachowują się jak listy połączone podwójnie.
Zmienna typu POSITION
jest kluczem listy. Możesz użyć zmiennej POSITION
jako iteratora do przechodzenia listy sekwencyjnie i jako zakładki do przechowywania miejsca. Pozycja nie jest jednak taka sama jak indeks.
Wstawianie elementów jest bardzo szybkie na czele listy, na ogonie i przy znanym POSITION
. Wyszukiwanie sekwencyjne jest niezbędne do wyszukania elementu według wartości lub indeksu. To wyszukiwanie może być powolne, jeśli lista jest długa.
Jeśli potrzebujesz zrzutu poszczególnych elementów na liście, musisz ustawić głębokość kontekstu zrzutu na 1 lub większą.
Niektóre funkcje składowe tej klasy wywołają globalne funkcje pomocnika, które muszą być dostosowane do większości zastosowań CList
klasy. Zobacz Pomocnicy klas kolekcji w sekcji "Makra i globalne".
Aby uzyskać więcej informacji na temat korzystania z programu CList
, zobacz artykuł Kolekcje.
Przykład
// CList is a template class that takes two template arguments.
// The first argument is type stored internally by the list, the
// second argument is the type used in the arguments for the
// CList methods.
// This code defines a list of ints.
CList<int, int> myIntList;
// This code defines a list of CStrings
CList<CString, CString &> myStringList;
// This code defines a list of MYTYPEs,
// NOTE: MYTYPE could be any struct, class or type definition
CList<MYTYPE, MYTYPE &> myTypeList;
Hierarchia dziedziczenia
CList
Wymagania
Nagłówek: afxtempl.h
CList::AddHead
Dodaje nowy element lub listę elementów do nagłówka tej listy.
POSITION AddHead(ARG_TYPE newElement);
void AddHead(CList* pNewList);
Parametry
ARG_TYPE
Parametr szablonu określający typ elementu listy (może być odwołaniem).
newElement
Nowy element.
pNewList
Wskaźnik do innej CList
listy. Elementy w pliku pNewList
zostaną dodane do tej listy.
Wartość zwracana
Pierwsza wersja zwraca POSITION
wartość nowo wstawionego elementu.
Uwagi
Lista może być pusta przed operacją.
Przykład
// Declarations of the variables used in the example
CList<CString, CString &> myList;
CList<CString, CString &> myList2;
// There are two versions of CList::AddHead: one adds a single
// element to the front of the list, the second adds another list
// to the front.
// This adds the string "ABC" to the front of myList.
// myList is a list of CStrings (ie defined as CList<CString,CString&>).
myList.AddHead(CString(_T("ABC")));
// This adds the elements of myList2 to the front of myList.
myList.AddHead(&myList2);
CList::AddTail
Dodaje nowy element lub listę elementów do końca tej listy.
POSITION AddTail(ARG_TYPE newElement);
void AddTail(CList* pNewList);
Parametry
ARG_TYPE
Parametr szablonu określający typ elementu listy (może być odwołaniem).
newElement
Element, który ma zostać dodany do tej listy.
pNewList
Wskaźnik do innej CList
listy. Elementy w pliku pNewList
zostaną dodane do tej listy.
Wartość zwracana
Pierwsza wersja zwraca POSITION
wartość nowo wstawionego elementu.
Uwagi
Lista może być pusta przed operacją.
Przykład
// Define myList and myList2.
CList<CString, CString &> myList;
CList<CString, CString &> myList2;
// Add elements to the end of myList and myList2.
myList.AddTail(CString(_T("A")));
myList.AddTail(CString(_T("B")));
myList2.AddTail(CString(_T("C")));
myList2.AddTail(CString(_T("D")));
// There are two versions of CList::AddTail: one adds a single
// element to the end of the list, the second adds another list
// to the end.
// This adds the string "ABC" to the end of myList.
// myList is a list of CStrings (ie defined as CList<CString,CString&>).
myList.AddTail(CString(_T("ABC")));
ASSERT(CString(_T("ABC")) == myList.GetTail());
// This adds the elements of myList2 to the end of myList.
myList.AddTail(&myList2);
CList::CList
Tworzy pustą uporządkowaną listę.
CList(INT_PTR nBlockSize = 10);
Parametry
nBlockSize
Stopień szczegółowości alokacji pamięci na potrzeby rozszerzania listy.
Uwagi
Wraz ze wzrostem listy pamięć jest przydzielana w jednostkach nBlockSize
wpisów.
Przykład
// This code defines myList as a list of strings
// such that memory gets allocated in chunks of
// 16 strings.
CList<CString, CString &> myList(16);
// This code defines myList2 as a list of ints
// such that memory gets allocated in chunks of
// 128 ints.
CList<int, int> myList2(128);
CList::Find
Wyszukuje listę sekwencyjnie, aby znaleźć pierwszy element pasujący do określonego searchValue
elementu .
POSITION Find(
ARG_TYPE searchValue,
POSITION startAfter = NULL) const;
Parametry
ARG_TYPE
Parametr szablonu określający typ elementu listy (może być odwołaniem).
searchValue
Wartość, która ma zostać znaleziona na liście.
startAfter
Pozycja początkowa wyszukiwania. Jeśli żadna wartość nie jest określona, wyszukiwanie rozpoczyna się od elementu head.
Wartość zwracana
POSITION
Wartość, która może służyć do iteracji lub pobierania wskaźnika obiektu; NULL
jeśli obiekt nie zostanie znaleziony.
Przykład
// Define myList.
CList<CString, CString &> myList;
// Add three elements to the list.
myList.AddHead(CString(_T("XYZ")));
myList.AddHead(CString(_T("ABC")));
myList.AddHead(CString(_T("123")));
// Find a specific element.
POSITION pos = myList.Find(CString(_T("XYZ")));
ASSERT(CString(_T("XYZ")) == myList.GetAt(pos));
CList::FindIndex
Używa wartości nIndex
jako indeksu do listy.
POSITION FindIndex(INT_PTR nIndex) const;
Parametry
nIndex
Indeks na podstawie zera elementu listy, który ma zostać znaleziony.
Wartość zwracana
POSITION
Wartość, która może służyć do iteracji lub pobierania wskaźnika obiektu; NULL
jeśli nIndex
jest ujemna lub zbyt duża.
Uwagi
Spowoduje to uruchomienie sekwencyjnego skanowania z nagłówka listy, zatrzymując się na nelement.
Przykład
// Define myList.
CList<CString, CString &> myList;
// Add three elements to the list.
myList.AddTail(CString(_T("XYZ")));
myList.AddTail(CString(_T("ABC")));
myList.AddTail(CString(_T("123")));
// Verify the first element (index 0).
ASSERT(CString(_T("XYZ")) == myList.GetAt(myList.FindIndex(0)));
// Verify the third element (index 2).
ASSERT(CString(_T("123")) == myList.GetAt(myList.FindIndex(2)));
CList::GetAt
Pobiera element listy na danej pozycji.
TYPE& GetAt(POSITION position);
const TYPE& GetAt(POSITION position) const;
Parametry
TYPE
Parametr szablonu określający typ obiektu na liście.
position
Pozycja na liście elementu do pobrania.
Wartość zwracana
Zobacz opis wartości zwracanej dla elementu GetHead
.
Uwagi
GetAt
Zwraca element (lub odwołanie do elementu) skojarzonego z daną pozycją. Nie jest on taki sam jak indeks i nie można samodzielnie działać na POSITION
wartości. Zmienna typu POSITION
jest kluczem listy.
Musisz upewnić się, że wartość POSITION
reprezentuje prawidłową pozycję na liście. Jeśli jest on nieprawidłowy, oznacza to, że wersja debugowania biblioteki klas programu Microsoft Foundation jest asercyjna.
Przykład
Zobacz przykład dla elementu CList::GetHeadPosition
.
CList::GetCount
Pobiera liczbę elementów na tej liście.
INT_PTR GetCount() const;
Wartość zwracana
Wartość całkowita zawierająca liczbę elementów.
Uwagi
Wywołanie tej metody spowoduje wygenerowanie tego samego wyniku co CList::GetSize
metoda.
Przykład
Zobacz przykład dla elementu CList::RemoveHead
.
CList::GetHead
Pobiera element head (lub odwołanie do elementu head) tej listy.
const TYPE& GetHead() const;
TYPE& GetHead();
Parametry
TYPE
Parametr szablonu określający typ obiektu na liście.
Wartość zwracana
Jeśli lista to const
, GetHead
zwraca kopię elementu na czele listy. Dzięki temu funkcja może być używana tylko po prawej stronie instrukcji przypisania i chroni listę przed modyfikacją.
Jeśli lista nie const
ma wartości , GetHead
zwraca odwołanie do elementu na czele listy. Dzięki temu funkcja może być używana po obu stronach instrukcji przypisania, a tym samym umożliwia modyfikowanie wpisów listy.
Uwagi
Przed wywołaniem metody GetHead
upewnij się, że lista nie jest pusta. Jeśli lista jest pusta, zostanie asercyjna wersja debugowania biblioteki klas programu Microsoft Foundation. Użyj polecenia IsEmpty
, aby sprawdzić, czy lista zawiera elementy.
Przykład
// Define myList.
CList<CString, CString &> myList;
// Add an element to the front of the list.
myList.AddHead(CString(_T("ABC")));
// Verify the element was added to the front of the list.
ASSERT(CString(_T("ABC")) == myList.GetHead());
CList::GetHeadPosition
Pobiera pozycję elementu głównego tej listy.
POSITION GetHeadPosition() const;
Wartość zwracana
POSITION
Wartość, która może służyć do iteracji lub pobierania wskaźnika obiektu; NULL
jeśli lista jest pusta.
Przykład
// Define myList.
CList<CString, CString &> myList;
// Add an element to the front of the list.
myList.AddHead(CString(_T("ABC")));
// Verify the element at the head position
// is the one added.
POSITION pos = myList.GetHeadPosition();
ASSERT(CString(_T("ABC")) == myList.GetAt(pos));
CList::GetNext
Pobiera element listy zidentyfikowany przez rPosition
element , a następnie ustawia rPosition
wartość POSITION
następnego wpisu na liście.
TYPE& GetNext(POSITION& rPosition);
const TYPE& GetNext(POSITION& rPosition) const;
Parametry
TYPE
Parametr szablonu określający typ elementów na liście.
rPosition
Odwołanie do POSITION
wartości zwróconej przez poprzednie GetNext
wywołanie funkcji , GetHeadPosition
lub innego elementu członkowskiego.
Wartość zwracana
Jeśli lista to const
, GetNext
zwraca kopię elementu listy. Dzięki temu funkcja może być używana tylko po prawej stronie instrukcji przypisania i chroni listę przed modyfikacją.
Jeśli lista nie const
ma wartości , GetNext
zwraca odwołanie do elementu listy. Dzięki temu funkcja może być używana po obu stronach instrukcji przypisania, a tym samym umożliwia modyfikowanie wpisów listy.
Uwagi
Można użyć GetNext
w pętli iteracji przesyłania dalej, jeśli ustanowisz pozycję początkową z wywołaniem lub GetHeadPosition
Find
.
Musisz upewnić się, że wartość POSITION
reprezentuje prawidłową pozycję na liście. Jeśli jest on nieprawidłowy, oznacza to, że wersja debugowania biblioteki klas programu Microsoft Foundation jest asercyjna.
Jeśli pobrany element jest ostatnim elementem na liście, nowa wartość parametru jest ustawiona rPosition
na wartość NULL.
Przykład
// Define myList.
// Define myList.
CList<CString, CString &> myList;
// Add two elements to the list.
myList.AddHead(CString(_T("ABC")));
myList.AddHead(CString(_T("123")));
// Dump the list elements to the debug window.
POSITION pos = myList.GetHeadPosition();
for (int i = 0; i < myList.GetCount(); i++)
{
TRACE(_T("%s\r\n"), (LPCTSTR)myList.GetNext(pos));
}
CList::GetPrev
Pobiera element listy zidentyfikowany przez rPosition
element , a następnie ustawia rPosition
wartość POSITION
poprzedniego wpisu na liście.
TYPE& GetPrev(POSITION& rPosition);
const TYPE& GetPrev(POSITION& rPosition) const;
Parametry
TYPE
Parametr szablonu określający typ elementów na liście.
rPosition
Odwołanie do POSITION
wartości zwracanej przez poprzednie GetPrev
lub inne wywołanie funkcji składowej.
Wartość zwracana
Jeśli lista to const
, GetPrev
zwraca kopię elementu na czele listy. Dzięki temu funkcja może być używana tylko po prawej stronie instrukcji przypisania i chroni listę przed modyfikacją.
Jeśli lista nie const
ma wartości , GetPrev
zwraca odwołanie do elementu listy. Dzięki temu funkcja może być używana po obu stronach instrukcji przypisania, a tym samym umożliwia modyfikowanie wpisów listy.
Uwagi
Można użyć GetPrev
w pętli iteracji odwrotnej, jeśli ustanowisz pozycję początkową za pomocą wywołania metody GetTailPosition
lub Find
.
Musisz upewnić się, że wartość POSITION
reprezentuje prawidłową pozycję na liście. Jeśli jest on nieprawidłowy, oznacza to, że wersja debugowania biblioteki klas programu Microsoft Foundation jest asercyjna.
Jeśli pobrany element jest pierwszym elementem na liście, nowa wartość parametru jest ustawiona rPosition
na NULL
wartość .
Przykład
// Define myList.
CList<CString,CString&> myList;
// Add two elements to the list.
myList.AddHead(CString(_T("ABC")));
myList.AddHead(CString(_T("123")));
// Dump the list elements to the debug window,
// in reverse order.
POSITION pos = myList.GetTailPosition();
for (int i = 0; i < myList.GetCount(); i++)
{
TRACE(_T("%s\r\n"), (LPCTSTR)myList.GetPrev(pos));
}
CList::GetSize
Zwraca liczbę elementów listy.
INT_PTR GetSize() const;
Wartość zwracana
Liczba elementów na liście.
Uwagi
Wywołaj tę metodę, aby pobrać liczbę elementów na liście. Wywołanie tej metody spowoduje wygenerowanie tego samego wyniku co CList::GetCount
metoda.
Przykład
// Define myList.
CList<CString, CString &> myList;
// Add two elements to the list.
myList.AddHead(CString(_T("ABC")));
myList.AddHead(CString(_T("123")));
// Remove the head element and verify the list.
// NOTE: once the head is removed, the number of
// elements in the list will be one.
CString strHead = myList.RemoveHead();
ASSERT((CString(_T("123")) == strHead) && (myList.GetSize() == 1) &&
(CString(_T("ABC")) == myList.GetHead()));
CList::GetTail
CObject
Pobiera wskaźnik reprezentujący element końcowy tej listy.
TYPE& GetTail();
const TYPE& GetTail() const;
Parametry
TYPE
Parametr szablonu określający typ elementów na liście.
Wartość zwracana
Zobacz opis wartości zwracanej dla elementu GetHead
.
Uwagi
Przed wywołaniem metody GetTail
upewnij się, że lista nie jest pusta. Jeśli lista jest pusta, zostanie asercyjna wersja debugowania biblioteki klas programu Microsoft Foundation. Użyj polecenia IsEmpty
, aby sprawdzić, czy lista zawiera elementy.
Przykład
// Define myList.
CList<CString, CString &> myList;
// Add an element to the end of the list.
myList.AddTail(CString(_T("ABC")));
// Verify the element was added to the end of the list.
ASSERT(CString(_T("ABC")) == myList.GetTail());
CList::GetTailPosition
Pobiera położenie elementu końcowego tej listy; NULL
jeśli lista jest pusta.
POSITION GetTailPosition() const;
Wartość zwracana
POSITION
Wartość, która może służyć do iteracji lub pobierania wskaźnika obiektu; NULL
jeśli lista jest pusta.
Przykład
// Define myList.
CList<CString,CString&> myList;
// Add an element to the end of the list.
myList.AddTail(CString(_T("ABC")));
// Verify the element at the end position
// is the one added.
POSITION pos = myList.GetTailPosition();
ASSERT(CString(_T("ABC")) == myList.GetAt(pos));
CList::InsertAfter
Dodaje element do tej listy po elemecie w określonej pozycji.
POSITION InsertAfter(POSITION position, ARG_TYPE newElement);
Parametry
position
Wartość POSITION zwrócona przez poprzednie GetNext
wywołanie funkcji , GetPrev
lub Find
składowej.
ARG_TYPE
Parametr szablonu określający typ elementu listy.
newElement
Element, który ma zostać dodany do tej listy.
Wartość zwracana
POSITION
Wartość, która może służyć do iteracji lub pobierania elementu listy.
Przykład
// Define myList.
CList<CString, CString &> myList;
// Add three elements to the list.
POSITION pos = myList.AddHead(CString(_T("XYZ")));
pos = myList.InsertAfter(pos, CString(_T("ABC")));
pos = myList.InsertAfter(pos, CString(_T("123")));
// Verify the tail element is what's expected.
ASSERT(CString(_T("123")) == myList.GetTail());
CList::InsertBefore
Dodaje element do tej listy przed elementem na określonej pozycji.
POSITION InsertBefore(POSITION position, ARG_TYPE newElement);
Parametry
position
POSITION
Wartość zwrócona przez poprzednie GetNext
wywołanie funkcji , GetPrev
lub Find
składowej.
ARG_TYPE
Parametr szablonu określający typ elementu listy (może być odwołaniem).
newElement
Element, który ma zostać dodany do tej listy.
Wartość zwracana
POSITION
Wartość, która może służyć do iteracji lub pobierania elementu listy.
Uwagi
Jeśli position
parametr to NULL
, element zostanie wstawiony na początku listy.
Przykład
// Define myList.
CList<CString, CString &> myList;
// Add three elements to the list.
POSITION pos = myList.AddHead(CString(_T("XYZ")));
pos = myList.InsertBefore(pos, CString(_T("ABC")));
pos = myList.InsertBefore(pos, CString(_T("123")));
// Verify the head element is what's expected.
ASSERT(CString(_T("123")) == myList.GetHead());
CList::IsEmpty
Wskazuje, czy ta lista nie zawiera żadnych elementów.
BOOL IsEmpty() const;
Wartość zwracana
Niezerowe, jeśli ta lista jest pusta; w przeciwnym razie 0.
Przykład
// Define myList.
CList<CString, CString &> myList;
// Add three elements to the list.
myList.AddTail(CString(_T("XYZ")));
myList.AddTail(CString(_T("ABC")));
myList.AddTail(CString(_T("123")));
// Remove the head element until the list is empty.
CString str;
while (!myList.IsEmpty())
{
str = myList.RemoveHead();
TRACE(_T("%s\r\n"), (LPCTSTR)str);
}
CList::RemoveAll
Usuwa wszystkie elementy z tej listy i zwalnia skojarzona pamięć.
void RemoveAll();
Uwagi
Jeśli lista jest już pusta, nie jest generowany żaden błąd.
Przykład
// Define myList.
CList<CString, CString&> myList;
// Add three elements to the list.
myList.AddTail(CString(_T("XYZ")));
myList.AddTail(CString(_T("ABC")));
myList.AddTail(CString(_T("123")));
// Remove all of the elements in the list.
myList.RemoveAll();
// Verify the list is empty.
ASSERT(myList.IsEmpty());
CList::RemoveAt
Usuwa określony element z tej listy.
void RemoveAt(POSITION position);
Parametry
position
Pozycja elementu, który ma zostać usunięty z listy.
Uwagi
Musisz upewnić się, że wartość POSITION
reprezentuje prawidłową pozycję na liście. Jeśli jest on nieprawidłowy, oznacza to, że wersja debugowania biblioteki klas programu Microsoft Foundation jest asercyjna.
Przykład
// Define myList.
CList<CString, CString&> myList;
// Add three elements to the list.
myList.AddTail(CString(_T("XYZ")));
myList.AddTail(CString(_T("ABC")));
myList.AddTail(CString(_T("123")));
// Remove CString("ABC") from the list.
myList.RemoveAt(myList.FindIndex(1));
// Verify CString("ABC") is not in the list.
ASSERT(myList.Find(CString(_T("ABC"))) == NULL);
CList::RemoveHead
Usuwa element z nagłówka listy i zwraca do niego wskaźnik.
TYPE RemoveHead();
Parametry
TYPE
Parametr szablonu określający typ elementów na liście.
Wartość zwracana
Element wcześniej znajdujący się na czele listy.
Uwagi
Przed wywołaniem metody RemoveHead
upewnij się, że lista nie jest pusta. Jeśli lista jest pusta, zostanie asercyjna wersja debugowania biblioteki klas programu Microsoft Foundation. Użyj polecenia IsEmpty
, aby sprawdzić, czy lista zawiera elementy.
Przykład
// Define myList.
CList<CString, CString&> myList;
// Add two elements to the list.
myList.AddHead(CString(_T("ABC")));
myList.AddHead(CString(_T("123")));
// Remove the head element and verify the list.
// NOTE: once the head is removed, the number of
// elements in the list will be one.
CString strHead = myList.RemoveHead();
ASSERT((CString(_T("123")) == strHead) && (myList.GetCount() == 1) &&
(CString(_T("ABC")) == myList.GetHead()));
CList::RemoveTail
Usuwa element z końca listy i zwraca do niego wskaźnik.
TYPE RemoveTail();
Parametry
TYPE
Parametr szablonu określający typ elementów na liście.
Wartość zwracana
Element, który znajdował się na ogonie listy.
Uwagi
Przed wywołaniem metody RemoveTail
upewnij się, że lista nie jest pusta. Jeśli lista jest pusta, zostanie asercyjna wersja debugowania biblioteki klas programu Microsoft Foundation. Użyj polecenia IsEmpty
, aby sprawdzić, czy lista zawiera elementy.
Przykład
// Define myList.
CList<CString, CString &> myList;
// Add two elements to the list.
myList.AddTail(CString(_T("ABC")));
myList.AddTail(CString(_T("123")));
// Remove the tail element and verify the list.
// NOTE: once the tail is removed, the number of
// elements in the list will be one.
CString strTail = myList.RemoveTail();
ASSERT((CString(_T("123")) == strTail) && (myList.GetCount() == 1) &&
(CString(_T("ABC")) == myList.GetTail()));
CList::SetAt
Zmienna typu POSITION
jest kluczem listy.
void SetAt(POSITION pos, ARG_TYPE newElement);
Parametry
pos
Element POSITION
do ustawienia.
ARG_TYPE
Parametr szablonu określający typ elementu listy (może być odwołaniem).
newElement
Element, który ma zostać dodany do listy.
Uwagi
Nie jest on taki sam jak indeks i nie można samodzielnie działać na POSITION
wartości. SetAt
zapisuje element na określonej pozycji na liście.
Musisz upewnić się, że wartość POSITION
reprezentuje prawidłową pozycję na liście. Jeśli jest on nieprawidłowy, oznacza to, że wersja debugowania biblioteki klas programu Microsoft Foundation jest asercyjna.
Przykład
// Define myList.
CList<CString, CString &> myList;
// Add three elements to the list.
myList.AddTail(CString(_T("XYZ")));
myList.AddTail(CString(_T("ABC")));
myList.AddTail(CString(_T("123")));
// Replace CString("ABC") with CString("CBA")
POSITION pos = myList.Find(CString(_T("ABC")));
myList.SetAt(pos, CString(_T("CBA")));
// Verify CString("ABC") is not in the list.
ASSERT(myList.Find(CString(_T("ABC"))) == NULL);
Zobacz też
Przykład MFC COLLECT
CObject
Klasa
Wykres hierarchii
CMap
Klasa
CArray
Klasa