set::insert
Vloží prvek nebo prvky rozsah sadu.
pair<iterator, bool> insert(
const value_type& _Val
);
iterator insert(
iterator _Where,
const value_type& _Val
);
template<class InputIterator>
void insert(
InputIterator _First,
InputIterator _Last
);
template<class ValTy>
pair<iterator, bool> insert(
ValTy&& _Val
);
template<class ValTy>
iterator insert(
const_iterator _Where,
ValTy&& _Val
);
Parametry
Parametr |
Description |
_Val |
Hodnota elementu vkládá do sady, pokud již obsahuje sadu prvku nebo obecněji, jehož klíč je equivalently objednané prvek. |
_Where |
Zahájeno hledání správné bod vložení na místo.(Vložení může dojít v amortized dobu konstantní, místo logaritmické času, pokud bod vložení následuje _Where.) |
_First |
Pozice první prvek zkopírovat ze sady. |
_Last |
Pozice za poslední prvek zkopírovat ze sady. |
Vrácená hodnota
První Vložit členské funkce vrátí pár, jehož komponenty bool vrátí true Pokud kurzor a false -li sadu již obsahuje prvek, jehož klíč bylo odpovídající hodnoty v pořadí a jejichž součásti iterace vrátí adresu, kde byl vložen nový prvek nebo kde prvek již byl umístěn.
Druhý Vložit členské funkce vrátí iterátoru, která odkazuje na umístění, kde byl vložen nový prvek do sady.
Funkce posledních dvou členů se chovají stejně jako první dva kromě val se používá pro sestavení vložené hodnoty.
Poznámky
Třetí členské funkce vloží posloupnost hodnot prvků do sady odpovídající každému prvku adresovány iterace v rozsahu [_First, _Last) zadanou sadu.
Příklad
// set_insert.cpp
// compile with: /EHsc
#include <set>
#include <iostream>
#include <string>
int main( )
{
using namespace std;
set <int>::iterator s1_pIter, s2_pIter;
set <int, less<int> > s1, s2;
s1.insert( 10 );
s1.insert( 20 );
s1.insert( 30 );
s1.insert( 40 );
cout << "The original s1 =";
for ( s1_pIter = s1.begin( ); s1_pIter != s1.end( ); s1_pIter++ )
cout << " " << *s1_pIter;
cout << "." << endl;
pair< set<int>::iterator, bool > pr;
pr = s1.insert( 10 );
if(pr.second == true)
{
cout << "The element 10 was inserted in s1 successfully."
<< endl;
}
else
{
cout << "The element 10 already exists in s1 and"
<< " *( pr.first ) = " << *( pr.first ) << "." << endl;
}
s1.insert( --s1.end( ), 50 );
cout << "After the insertions, s1 =";
for ( s1_pIter = s1.begin( ); s1_pIter != s1.end( ); s1_pIter++ )
cout << " " << *s1_pIter;
cout << "." << endl;
s2.insert( 100 );
s2.insert( ++s1.begin( ), --s1.end( ) );
cout << "s2 =";
for ( s2_pIter = s2.begin( ); s2_pIter != s2.end( ); s2_pIter++ )
cout << " " << *s2_pIter;
cout << "." << endl;
// Construct by moving
set<string> s3, s4;
string str1("a"), str2("b");
s3.insert(move(str1));
cout << "After the move insertion, s3 contains: "
<< *s3.begin() << endl;
s4.insert(s4.begin(), move(str2));
cout << "After the move insertion, s4 contains: "
<< *s4.begin() << endl;
}
Požadavky
Záhlaví: <set>
Obor názvů: std