Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Teoria opisuje klasę szablonu, który po wywołaniu zwraca pierwszy argument plus druga.Umożliwia ona określić obiekt funkcji pod względem jego typ argumentu.
template<typename Arg>
ref class plus
{ // wrap operator()
public:
typedef Arg first_argument_type;
typedef Arg second_argument_type;
typedef Arg result_type;
typedef Microsoft::VisualC::StlClr::BinaryDelegate<
first_argument_type, second_argument_type, result_type>
delegate_type;
plus();
plus(plus<Arg>% right);
result_type operator()(first_argument_type left,
second_argument_type right);
operator delegate_type^();
};
Parametry
- ARG
Typ argumenty i wartości zwracanej.
Funkcje członkowskie
Definicja typu |
Opis |
---|---|
delegate_type |
Typ rodzajowy delegata. |
first_argument_type |
Typ teoria pierwszego argumentu. |
Typ_wyniku |
Typ wyniku teoria. |
second_argument_type |
Typ teoria drugiego argumentu. |
Członek |
Opis |
---|---|
plus |
Konstrukcje teoria. |
Operator |
Opis |
---|---|
Operator() |
Oblicza odpowiednią funkcję. |
Operator delegate_type ^ |
Posługując się miarką teoria pełnomocnikowi. |
Uwagi
Klasa szablon opisuje teoria dwóch argumentów.Definiuje operator Państwa operator() tak, że gdy obiekt jest wywoływana w funkcji, zwraca pierwszy argument plus druga.
Można również przekazać obiekt jako argument funkcji, których typ jest delegate_type^ i odpowiednio go będą konwertowane.
Przykład
// cliext_plus.cpp
// compile with: /clr
#include <cliext/algorithm>
#include <cliext/functional>
#include <cliext/vector>
typedef cliext::vector<int> Myvector;
int main()
{
Myvector c1;
c1.push_back(4);
c1.push_back(3);
Myvector c2;
c2.push_back(2);
c2.push_back(1);
Myvector c3(2, 0);
// display initial contents " 4 3" and " 2 1"
for each (int elem in c1)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
for each (int elem in c2)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
// transform and display
cliext::transform(c1.begin(), c1.begin() + 2,
c2.begin(), c3.begin(), cliext::plus<int>());
for each (int elem in c3)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
return (0);
}
Wymagania
Nagłówek:<cliext/funkcjonalności>
Przestrzeń nazw: cliext