map::erase (STL/CLR)
Odebere prvky v určených polohách.
iterator erase(iterator where);
iterator erase(iterator first, iterator last);
bool erase(key_type key)
Parametry
první
Začátek oblast vymazání.klíč
Hodnota klíče smazat.poslední
Konec oblast vymazání.kde
Prvek, který chcete vymazat.
Poznámky
První členské funkce odstraní prvek řízené sekvence odkazuje wherea vrátí iterace, který určuje první prvek zbývající po prvku odebrána, nebo map::end (STL/CLR)() Pokud neexistuje žádný takový prvek.Slouží k odebrání jednoho prvku.
Druhý člen funkce odebere prvky řízené sekvence v rozsahu [first, last)a vrátí iterace, který určuje první prvek zbývající za všechny prvky odstraněny, nebo end() Pokud neexistuje žádný takový prvek.Slouží k odebrání nula nebo více sousedních prvků.
Třetí členská funkce odstraní libovolný prvek řízené sekvence, jehož klíč má rovnocenné pořadí na keya vrátí počet odstraněných prvků.Slouží k odebrání a spočítat všechny prvky, které odpovídají zadaným klíčem.
Vymazávání každý prvek má čas úměrný logaritmu počtu prvků v řízené sekvenci.
Příklad
// cliext_map_erase.cpp
// compile with: /clr
#include <cliext/map>
typedef cliext::map<wchar_t, int> Mymap;
int main()
{
cliext::map<wchar_t, int> c1;
c1.insert(cliext::map<wchar_t, int>::make_value(L'a', 1));
c1.insert(cliext::map<wchar_t, int>::make_value(L'b', 2));
c1.insert(cliext::map<wchar_t, int>::make_value(L'c', 3));
// display contents " [a 1] [b 2] [c 3]"
for each (cliext::map<wchar_t, int>::value_type elem in c1)
System::Console::Write(" [{0} {1}]", elem->first, elem->second);
System::Console::WriteLine();
// erase an element and reinspect
cliext::map<wchar_t, int>::iterator it =
c1.erase(c1.begin());
System::Console::WriteLine("erase(begin()) = [{0} {1}]",
it->first, it->second);
// add elements and display " b c d e"
c1.insert(cliext::map<wchar_t, int>::make_value(L'd', 4));
c1.insert(cliext::map<wchar_t, int>::make_value(L'e', 5));
for each (cliext::map<wchar_t, int>::value_type elem in c1)
System::Console::Write(" [{0} {1}]", elem->first, elem->second);
System::Console::WriteLine();
// erase all but end
it = c1.end();
it = c1.erase(c1.begin(), --it);
System::Console::WriteLine("erase(begin(), end()-1) = [{0} {1}]",
it->first, it->second);
System::Console::WriteLine("size() = {0}", c1.size());
// erase end
System::Console::WriteLine("erase(L'x') = {0}", c1.erase(L'x'));
System::Console::WriteLine("erase(L'e') = {0}", c1.erase(L'e'));
return (0);
}
Požadavky
Záhlaví:<cliext/mapa>
Obor názvů: cliext