System::Func class
Inhalt
[
Ausblenden
]Func class
Funktions-Delegate. Dieser Typ sollte auf dem Stack alloziert und an Funktionen per Wert oder Referenz übergeben werden. Verwenden Sie niemals die Klasse System::SmartPtr, um Objekte dieses Typs zu verwalten.
template<typename...>class Func : public System::MulticastDelegate<::System::Detail::FuncArgsReorderer<void(), Args...>::type>
| Parameter | Beschreibung |
|---|---|
| Argumente | Aufrufargumente, gefolgt vom obligatorischen Rückgabetyp. |
Methoden
| Methode | Beschreibung |
|---|---|
| Func() | Standardkonstruktor, der ein null-Func erstellt. |
| Func(T&&) | Konstruktor, der ein Func-Objekt erstellt und ihm einen Wert zuweist (entweder den tatsächlichen Rückruf oder nullptr). |
| Func(const Func&) | Kopierkonstruktor. |
| Func(Func&&) | Move-Konstruktor. |
| operator=(const Func&) | Kopierzuweisung. |
| operator=(Func&&) | Move-Zuweisung. |
| ~Func() | Destruktor. |
Hinweise
#include "system/func.h"
#include <iostream>
// Diese Funktion akzeptiert eine Instanz des System::Func-Delegaten als Parameter.
void Print(int x, const System::Func<int, int> &func)
{
std::cout << func(x) << std::endl;
}
int main()
{
// Erstelle eine Instanz des System::Func-Delegaten.
auto func = static_cast<System::Func<int, int>>([](int x) -> int
{
return x * x;
});
// Übergebe die erstellte Instanz als Funktionsargument.
Print(1, func);
Print(2, func);
Print(3, func);
return 0;
}
/*
This code example produces the following output:
1
4
9
*/
Siehe auch
- Namespace System
- Library Aspose.Font for C++