list::assign (STL Samples)
Veranschaulicht, wie die Funktion Liste::Sie weisen Standardvorlagenbibliothek (STL) in Visual C++ verwendet.
void assign(
const_iterator First,
const_iterator Last
);
void assign(
size_type n,
const T& x = T( )
);
iterator erase(
iterator It
);
iterator erase(
iterator First,
iterator Last
); bool empty( ) const;
Hinweise
Hinweis |
---|
Die Klasse/Parameternamen im Prototyp stimmen nicht mit der Version in der Headerdatei ab.Einige wurden geändert, um die Lesbarkeit zu verbessern. |
Die erste Sequenz ersetzt Memberfunktion gesteuerte durch *dies mit der Sequenz [First, Last).Die zweite Sequenz ersetzt Memberfunktion gesteuerte durch *dies mit einer Wiederholung von x Wert des n-Elementen *.*Die dritte Memberfunktion entfernt das Element der kontrollierten Sequenz, die von ihrdargestellt wird.Die vierte Memberfunktion entfernt die Elemente der kontrollierten Sequenz im Bereich [First, Last).Beides gibt ein Iterator, der das erste Element festgelegt wird, das über alle Elemente entfernt wurden, oder end hinaus bleibt, wenn kein solches Element vorhanden ist.Die letzte Memberfunktion gibt true gesteuerte für eine leere Sequenz zurück.
Beispiel
// assign.cpp
// compile with: /EHsc
//
// Shows various ways to assign and erase elements
// from a list<T>.
//
// Functions:
// list::assign
// list::empty
// list::erase
#include <list>
#include <iostream>
using namespace std ;
typedef list<int> LISTINT;
int main()
{
LISTINT listOne;
LISTINT listAnother;
LISTINT::iterator i;
// Add some data
listOne.push_front (2);
listOne.push_front (1);
listOne.push_back (3);
listAnother.push_front(4);
listAnother.assign(listOne.begin(), listOne.end());
// 1 2 3
for (i = listAnother.begin(); i != listAnother.end(); ++i)
cout << *i << " ";
cout << endl;
listAnother.assign(4, 1);
// 1 1 1 1
for (i = listAnother.begin(); i != listAnother.end(); ++i)
cout << *i << " ";
cout << endl;
listAnother.erase(listAnother.begin());
// 1 1 1
for (i = listAnother.begin(); i != listAnother.end(); ++i)
cout << *i << " ";
cout << endl;
listAnother.erase(listAnother.begin(), listAnother.end());
if (listAnother.empty())
cout << "All gone\n";
}
Output
1 2 3
1 1 1 1
1 1 1
All gone
Anforderungen
Header: <list>