Important This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here. ArchiveDisclaimer

list::erase (STL/CLR)

Removes elements at specified positions.

    iterator erase(iterator where);
    iterator erase(iterator first, iterator last);


Beginning of range to erase.


End of range to erase.


Element to erase.

The first member function removes the element of the controlled sequence pointed to by where. You use it to remove a single element.

The second member function removes the elements of the controlled sequence in the range [first, last). You use it to remove zero or more contiguous elements.

Both member functions return an iterator that designates the first element remaining beyond any elements removed, or list::end (STL/CLR)() if no such element exists.

When erasing elements, the number of element copies is linear in the number of elements between the end of the erasure and the nearer end of the sequence. (When erasing one or more elements at either end of the sequence, no element copies occur.)

// cliext_list_erase.cpp 
// compile with: /clr 
#include <cliext/list> 
int main() 
    cliext::list<wchar_t> c1; 
// display initial contents " a b c" 
    for each (wchar_t elem in c1) 
        System::Console::Write(" {0}", elem); 
// erase an element and reinspect 
    System::Console::WriteLine("erase(begin()) = {0}", 
// add elements and display " b c d e" 
    for each (wchar_t elem in c1) 
        System::Console::Write(" {0}", elem); 
// erase all but end 
    cliext::list<wchar_t>::iterator it = c1.end(); 
    System::Console::WriteLine("erase(begin(), end()-1) = {0}", 
        *c1.erase(c1.begin(), --it)); 
    System::Console::WriteLine("size() = {0}", c1.size()); 
    return (0); 
a b c erase(begin()) = b b c d e erase(begin(), end()-1) = e size() = 1

Header: <cliext/list>

Namespace: cliext

© 2016 Microsoft