Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
Opmerking
De Microsoft Foundation Classes-bibliotheek (MFC) wordt nog steeds ondersteund. We voegen echter geen functies meer toe of werken de documentatie bij.
Ondersteunt geordende lijsten met niet-unique objecten die sequentieel of op waarde toegankelijk zijn.
Syntaxis
template<class TYPE, class ARG_TYPE = const TYPE&>
class CList : public CObject
Leden
Openbare constructors
| Naam | Description |
|---|---|
CList::CList |
Hiermee wordt een lege geordende lijst gemaakt. |
Openbare methoden
| Naam | Description |
|---|---|
CList::AddHead |
Voegt een element (of alle elementen in een andere lijst) toe aan het hoofd van de lijst (maakt een nieuw hoofd). |
CList::AddTail |
Voegt een element (of alle elementen in een andere lijst) toe aan de staart van de lijst (maakt een nieuwe staart). |
CList::Find |
Hiermee haalt u de positie op van een element dat is opgegeven door de aanwijzerwaarde. |
CList::FindIndex |
Hiermee haalt u de positie op van een element dat is opgegeven door een index op basis van nul. |
CList::GetAt |
Hiermee haalt u het element op een bepaalde positie op. |
CList::GetCount |
Retourneert het aantal elementen in deze lijst. |
CList::GetHead |
Retourneert het hoofdelement van de lijst (mag niet leeg zijn). |
CList::GetHeadPosition |
Retourneert de positie van het hoofdelement van de lijst. |
CList::GetNext |
Hiermee haalt u het volgende element op voor het herhalen. |
CList::GetPrev |
Hiermee haalt u het vorige element op voor het herhalen. |
CList::GetSize |
Retourneert het aantal elementen in deze lijst. |
CList::GetTail |
Retourneert het staartelement van de lijst (mag niet leeg zijn). |
CList::GetTailPosition |
Retourneert de positie van het staartelement van de lijst. |
CList::InsertAfter |
Hiermee voegt u een nieuw element in na een bepaalde positie. |
CList::InsertBefore |
Hiermee voegt u een nieuw element in vóór een bepaalde positie. |
CList::IsEmpty |
Hiermee wordt getest op de voorwaarde voor een lege lijst (geen elementen). |
CList::RemoveAll |
Hiermee verwijdert u alle elementen uit deze lijst. |
CList::RemoveAt |
Hiermee verwijdert u een element uit deze lijst, opgegeven op positie. |
CList::RemoveHead |
Hiermee verwijdert u het element uit de kop van de lijst. |
CList::RemoveTail |
Hiermee verwijdert u het element uit de staart van de lijst. |
CList::SetAt |
Hiermee stelt u het element op een bepaalde positie in. |
Parameterwaarden
TYPE
Het type object dat is opgeslagen in de lijst.
ARG_TYPE
Type dat wordt gebruikt om te verwijzen naar objecten die zijn opgeslagen in de lijst. Kan een verwijzing zijn.
Opmerkingen
CList lijsten gedragen zich als dubbel gekoppelde lijsten.
Een variabele van het type POSITION is een sleutel voor de lijst. U kunt een POSITION variabele als iterator gebruiken om een lijst opeenvolgend te doorlopen en als bladwijzer om een plaats te bewaren. Een positie is echter niet hetzelfde als een index.
Elementinvoeging is zeer snel bij de lijstkop, aan de staart en op een bekende POSITION. Een sequentiële zoekopdracht is nodig om een element op waarde of index op te zoeken. Deze zoekopdracht kan traag zijn als de lijst lang is.
Als u een dump van afzonderlijke elementen in de lijst nodig hebt, moet u de diepte van de dumpcontext instellen op 1 of hoger.
Bepaalde lidfuncties van deze klasse roepen globale helperfuncties aan die moeten worden aangepast voor de meeste toepassingen van de CList klasse. Zie Helpers voor verzamelingsklassen in de sectie 'Macro's en globals'.
Zie het artikel Verzamelingen voor meer informatie over het gebruikCList.
Example
// 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;
Overnamehiërarchie
CList
Requirements
Rubriek:afxtempl.h
CList::AddHead
Hiermee voegt u een nieuw element of een nieuwe lijst met elementen toe aan het hoofd van deze lijst.
POSITION AddHead(ARG_TYPE newElement);
void AddHead(CList* pNewList);
Parameterwaarden
ARG_TYPE
Sjabloonparameter die het type van het lijstelement opgeeft (kan een verwijzing zijn).
newElement
Het nieuwe element.
pNewList
Een aanwijzer naar een andere CList lijst. De elementen in pNewList worden toegevoegd aan deze lijst.
Retourwaarde
De eerste versie retourneert de POSITION waarde van het nieuw ingevoegde element.
Opmerkingen
De lijst kan leeg zijn voordat de bewerking wordt uitgevoerd.
Example
// 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
Hiermee voegt u een nieuw element of een nieuwe lijst met elementen toe aan de staart van deze lijst.
POSITION AddTail(ARG_TYPE newElement);
void AddTail(CList* pNewList);
Parameterwaarden
ARG_TYPE
Sjabloonparameter die het type van het lijstelement opgeeft (kan een verwijzing zijn).
newElement
Het element dat aan deze lijst moet worden toegevoegd.
pNewList
Een aanwijzer naar een andere CList lijst. De elementen in pNewList worden toegevoegd aan deze lijst.
Retourwaarde
De eerste versie retourneert de POSITION waarde van het nieuw ingevoegde element.
Opmerkingen
De lijst kan leeg zijn voordat de bewerking wordt uitgevoerd.
Example
// 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
Hiermee wordt een lege geordende lijst gemaakt.
CList(INT_PTR nBlockSize = 10);
Parameterwaarden
nBlockSize
De granulariteit voor geheugentoewijzing voor het uitbreiden van de lijst.
Opmerkingen
Naarmate de lijst groeit, wordt geheugen toegewezen in eenheden van nBlockSize vermeldingen.
Example
// 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
Doorzoekt de lijst opeenvolgend om het eerste element te vinden dat overeenkomt met de opgegeven searchValue.
POSITION Find(
ARG_TYPE searchValue,
POSITION startAfter = NULL) const;
Parameterwaarden
ARG_TYPE
Sjabloonparameter die het type van het lijstelement opgeeft (kan een verwijzing zijn).
searchValue
De waarde die in de lijst moet worden gevonden.
startAfter
De beginpositie voor de zoekopdracht. Als er geen waarde is opgegeven, begint de zoekopdracht met het hoofdelement.
Retourwaarde
Een POSITION waarde die kan worden gebruikt voor iteratie of het ophalen van objectaanwijzers. NULL Als het object niet wordt gevonden.
Example
// 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
Gebruikt de waarde van nIndex als een index in de lijst.
POSITION FindIndex(INT_PTR nIndex) const;
Parameterwaarden
nIndex
De op nul gebaseerde index van het lijstelement dat moet worden gevonden.
Retourwaarde
Een POSITION waarde die kan worden gebruikt voor iteratie of het ophalen van objectaanwijzers; NULL als nIndex deze negatief of te groot is.
Opmerkingen
Er wordt een sequentiële scan gestart vanaf de kop van de lijst en wordt gestopt op het ndeelement.
Example
// 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
Hiermee haalt u het lijstelement op een bepaalde positie op.
TYPE& GetAt(POSITION position);
const TYPE& GetAt(POSITION position) const;
Parameterwaarden
TYPE
Sjabloonparameter die het type object in de lijst opgeeft.
position
De positie in de lijst met elementen die u wilt ophalen.
Retourwaarde
Zie de beschrijving van de retourwaarde voor GetHead.
Opmerkingen
GetAt retourneert het element (of een verwijzing naar het element) dat is gekoppeld aan een bepaalde positie. Het is niet hetzelfde als een index en u kunt niet zelf een waarde gebruiken POSITION . Een variabele van het type POSITION is een sleutel voor de lijst.
U moet ervoor zorgen dat uw POSITION waarde een geldige positie in de lijst vertegenwoordigt. Als deze ongeldig is, wordt de foutopsporingsversie van de Microsoft Foundation Class Library asserties.
Example
Zie het voorbeeld voor CList::GetHeadPosition.
CList::GetCount
Hiermee haalt u het aantal elementen in deze lijst op.
INT_PTR GetCount() const;
Retourwaarde
Een geheel getal dat het aantal elementen bevat.
Opmerkingen
Als u deze methode aanroept, wordt hetzelfde resultaat gegenereerd als de CList::GetSize methode.
Example
Zie het voorbeeld voor CList::RemoveHead.
CList::GetHead
Hiermee haalt u het hoofdelement (of een verwijzing naar het hoofdelement) van deze lijst op.
const TYPE& GetHead() const;
TYPE& GetHead();
Parameterwaarden
TYPE
Sjabloonparameter die het type object in de lijst opgeeft.
Retourwaarde
Als de lijst is const, GetHead retourneert u een kopie van het element boven aan de lijst. Hierdoor kan de functie alleen aan de rechterkant van een toewijzingsinstructie worden gebruikt en wordt de lijst beschermd tegen wijziging.
Als de lijst niet constis, GetHead retourneert u een verwijzing naar het element boven aan de lijst. Hierdoor kan de functie aan beide zijden van een toewijzingsinstructie worden gebruikt en kunnen de lijstvermeldingen dus worden gewijzigd.
Opmerkingen
U moet ervoor zorgen dat de lijst niet leeg is voordat u aanroept GetHead. Als de lijst leeg is, wordt de foutopsporingsversie van de Microsoft Foundation Class Library weergegeven. Gebruik IsEmpty dit om te controleren of de lijst elementen bevat.
Example
// 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
Hiermee haalt u de positie van het hoofdelement van deze lijst op.
POSITION GetHeadPosition() const;
Retourwaarde
Een POSITION waarde die kan worden gebruikt voor het ophalen van iteratie of objectaanwijzer. NULL Als de lijst leeg is.
Example
// 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
Hiermee wordt het lijstelement opgehaald dat is geïdentificeerd door rPositionen wordt rPosition vervolgens ingesteld op de POSITION waarde van het volgende item in de lijst.
TYPE& GetNext(POSITION& rPosition);
const TYPE& GetNext(POSITION& rPosition) const;
Parameterwaarden
TYPE
Sjabloonparameter waarmee het type elementen in de lijst wordt opgegeven.
rPosition
Een verwijzing naar een POSITION waarde die wordt geretourneerd door een vorige GetNext, GetHeadPositionof een andere functie-aanroep van leden.
Retourwaarde
Als de lijst is const, GetNext retourneert u een kopie van een element van de lijst. Hierdoor kan de functie alleen aan de rechterkant van een toewijzingsinstructie worden gebruikt en wordt de lijst beschermd tegen wijziging.
Als de lijst niet constis, GetNext wordt een verwijzing naar een element van de lijst geretourneerd. Hierdoor kan de functie aan beide zijden van een toewijzingsinstructie worden gebruikt en kunnen de lijstvermeldingen dus worden gewijzigd.
Opmerkingen
U kunt in een doorstuurlus gebruiken GetNext als u de initiële positie met een aanroep naar GetHeadPosition of Find.
U moet ervoor zorgen dat uw POSITION waarde een geldige positie in de lijst vertegenwoordigt. Als deze ongeldig is, wordt de foutopsporingsversie van de Microsoft Foundation Class Library asserties.
Als het opgehaalde element de laatste in de lijst is, wordt de nieuwe waarde rPosition ingesteld op NULL.
Example
// 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
Hiermee haalt u het lijstelement op dat is geïdentificeerd door rPositionen wordt vervolgens rPosition ingesteld op de POSITION waarde van het vorige item in de lijst.
TYPE& GetPrev(POSITION& rPosition);
const TYPE& GetPrev(POSITION& rPosition) const;
Parameterwaarden
TYPE
Sjabloonparameter waarmee het type elementen in de lijst wordt opgegeven.
rPosition
Een verwijzing naar een POSITION waarde die wordt geretourneerd door een eerdere GetPrev of andere functie-aanroep van leden.
Retourwaarde
Als de lijst is const, GetPrev retourneert u een kopie van het element boven aan de lijst. Hierdoor kan de functie alleen aan de rechterkant van een toewijzingsinstructie worden gebruikt en wordt de lijst beschermd tegen wijziging.
Als de lijst niet constis, GetPrev wordt een verwijzing naar een element van de lijst geretourneerd. Hierdoor kan de functie aan beide zijden van een toewijzingsinstructie worden gebruikt en kunnen de lijstvermeldingen dus worden gewijzigd.
Opmerkingen
U kunt GetPrev deze gebruiken in een omgekeerde iteratielus als u de initiële positie met een aanroep naar GetTailPosition of Find.
U moet ervoor zorgen dat uw POSITION waarde een geldige positie in de lijst vertegenwoordigt. Als deze ongeldig is, wordt de foutopsporingsversie van de Microsoft Foundation Class Library asserties.
Als het opgehaalde element de eerste in de lijst is, wordt de nieuwe waarde rPosition ingesteld op NULL.
Example
// 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
Retourneert het aantal lijstelementen.
INT_PTR GetSize() const;
Retourwaarde
Het aantal items in de lijst.
Opmerkingen
Roep deze methode aan om het aantal elementen in de lijst op te halen. Als u deze methode aanroept, wordt hetzelfde resultaat gegenereerd als de CList::GetCount methode.
Example
// 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
Hiermee haalt u de CObject aanwijzer op die het tail-element van deze lijst vertegenwoordigt.
TYPE& GetTail();
const TYPE& GetTail() const;
Parameterwaarden
TYPE
Sjabloonparameter waarmee het type elementen in de lijst wordt opgegeven.
Retourwaarde
Zie de beschrijving van de retourwaarde voor GetHead.
Opmerkingen
U moet ervoor zorgen dat de lijst niet leeg is voordat u aanroept GetTail. Als de lijst leeg is, wordt de foutopsporingsversie van de Microsoft Foundation Class Library weergegeven. Gebruik IsEmpty dit om te controleren of de lijst elementen bevat.
Example
// 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
Hiermee haalt u de positie op van het tail-element van deze lijst; NULL als de lijst leeg is.
POSITION GetTailPosition() const;
Retourwaarde
Een POSITION waarde die kan worden gebruikt voor het ophalen van iteratie of objectaanwijzer. NULL Als de lijst leeg is.
Example
// 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
Voegt een element toe aan deze lijst na het element op de opgegeven positie.
POSITION InsertAfter(POSITION position, ARG_TYPE newElement);
Parameterwaarden
position
Een POSITION-waarde die wordt geretourneerd door een eerdere GetNext, GetPrevof Find lidfunctieaanroep.
ARG_TYPE
Sjabloonparameter die het type van het lijstelement opgeeft.
newElement
Het element dat aan deze lijst moet worden toegevoegd.
Retourwaarde
Een POSITION waarde die kan worden gebruikt voor iteratie of het ophalen van een lijstelement.
Example
// 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
Hiermee voegt u een element toe aan deze lijst vóór het element op de opgegeven positie.
POSITION InsertBefore(POSITION position, ARG_TYPE newElement);
Parameterwaarden
position
Een POSITION waarde die wordt geretourneerd door een eerdere GetNext, GetPrevof Find lidfunctieoproep.
ARG_TYPE
Sjabloonparameter die het type van het lijstelement opgeeft (kan een verwijzing zijn).
newElement
Het element dat aan deze lijst moet worden toegevoegd.
Retourwaarde
Een POSITION waarde die kan worden gebruikt voor iteratie of het ophalen van een lijstelement.
Opmerkingen
Als position dat het is NULL, wordt het element ingevoegd aan het hoofd van de lijst.
Example
// 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
Geeft aan of deze lijst geen elementen bevat.
BOOL IsEmpty() const;
Retourwaarde
Niet-nul als deze lijst leeg is; anders 0.
Example
// 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
Hiermee verwijdert u alle elementen uit deze lijst en wordt het bijbehorende geheugen vrijgemaakt.
void RemoveAll();
Opmerkingen
Er wordt geen fout gegenereerd als de lijst al leeg is.
Example
// 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
Hiermee verwijdert u het opgegeven element uit deze lijst.
void RemoveAt(POSITION position);
Parameterwaarden
position
De positie van het element dat uit de lijst moet worden verwijderd.
Opmerkingen
U moet ervoor zorgen dat uw POSITION waarde een geldige positie in de lijst vertegenwoordigt. Als deze ongeldig is, wordt de foutopsporingsversie van de Microsoft Foundation Class Library asserties.
Example
// 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
Hiermee verwijdert u het element uit de kop van de lijst en wordt er een aanwijzer naar geretourneerd.
TYPE RemoveHead();
Parameterwaarden
TYPE
Sjabloonparameter waarmee het type elementen in de lijst wordt opgegeven.
Retourwaarde
Het element dat zich eerder in het hoofd van de lijst voordeed.
Opmerkingen
U moet ervoor zorgen dat de lijst niet leeg is voordat u aanroept RemoveHead. Als de lijst leeg is, wordt de foutopsporingsversie van de Microsoft Foundation Class Library weergegeven. Gebruik IsEmpty dit om te controleren of de lijst elementen bevat.
Example
// 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
Hiermee verwijdert u het element uit de staart van de lijst en wordt er een aanwijzer naar geretourneerd.
TYPE RemoveTail();
Parameterwaarden
TYPE
Sjabloonparameter waarmee het type elementen in de lijst wordt opgegeven.
Retourwaarde
Het element dat zich aan de staart van de lijst bevond.
Opmerkingen
U moet ervoor zorgen dat de lijst niet leeg is voordat u aanroept RemoveTail. Als de lijst leeg is, wordt de foutopsporingsversie van de Microsoft Foundation Class Library weergegeven. Gebruik IsEmpty dit om te controleren of de lijst elementen bevat.
Example
// 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
Een variabele van het type POSITION is een sleutel voor de lijst.
void SetAt(POSITION pos, ARG_TYPE newElement);
Parameterwaarden
pos
Het POSITION element dat moet worden ingesteld.
ARG_TYPE
Sjabloonparameter die het type van het lijstelement opgeeft (kan een verwijzing zijn).
newElement
Het element dat moet worden toegevoegd aan de lijst.
Opmerkingen
Het is niet hetzelfde als een index en u kunt niet zelf een waarde gebruiken POSITION .
SetAt schrijft het element naar de opgegeven positie in de lijst.
U moet ervoor zorgen dat uw POSITION waarde een geldige positie in de lijst vertegenwoordigt. Als deze ongeldig is, wordt de foutopsporingsversie van de Microsoft Foundation Class Library asserties.
Example
// 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);
Zie ook
MFC-voorbeeld COLLECT
CObject klasse
Hiërarchiegrafiek
CMap klasse
CArray klasse