set::key_comp a set::value_comp
Znázorňuje použití set::key_comp a set::value_comp funkce standardní šablonu knihovny (STL) v jazyce C++.
template<class _K, class _Pr, class _A>
class set
{
public:
// Function 1:
key_compare key_comp( ) const;
// Function 2:
value_compare value_comp( ) const;
}
Poznámky
[!POZNÁMKA]
Názvy tříd/parametr v prototyp verze v záhlaví souboru neodpovídají.Některé byly upraveny, aby se zlepšila čitelnost.
key_comp Funkce vrátí uložené funkce objektu, který určuje pořadí prvků v řízené sekvence.value_comp o stejnou funkci, která vrátí funkce key_comp funkce vrátí.
Příklad
// SetComp.cpp
// compile with: /EHsc
//
// Illustrates how to use the key_comp function to obtain a
// function pointer that is the stored function object that
// determines the order of elements in the controlled sequence.
// It also illustrates how to use the value_comp function to
// obtain a function pointer that is the stored function object
// that determines the order of the elements in the controlled
// sequence (same as key_comp result).
//
// Functions:
//
// key_comp Returns a function pointer to the function that
// determines the order of elements in the controlled
// sequence.
// value_comp Returns a function pointer to the function that
// determines the order of elements in the controlled
// sequence (same as key_comp).
//////////////////////////////////////////////////////////////////////
#pragma warning(disable:4786)
#include <set>
#include <iostream>
using namespace std ;
typedef set<int> SET_INT;
void truefalse(int x)
{
cout << (x?"True":"False") << endl;
}
int main() {
SET_INT s1;
cout << "s1.key_comp()(8,10) returned ";
truefalse(s1.key_comp()(8,10)); // True
cout << "s1.value_comp()(8,10) returned ";
truefalse(s1.value_comp()(8,10)); // True
cout << "s1.key_comp()(10,8) returned ";
truefalse(s1.key_comp()(10,8)); // False
cout << "s1.value_comp()(10,8) returned ";
truefalse(s1.value_comp()(10,8)); // False
cout << "s1.key_comp()(8,8) returned ";
truefalse(s1.key_comp()(8,8)); // False
cout << "s1.value_comp()(8,8) returned ";
truefalse(s1.value_comp()(8,8)); // False
}
Výsledek
s1.key_comp()(8,10) returned True
s1.value_comp()(8,10) returned True
s1.key_comp()(10,8) returned False
s1.value_comp()(10,8) returned False
s1.key_comp()(8,8) returned False
s1.value_comp()(8,8) returned False
Požadavky
Záhlaví: <set>