System::Func class
Contenuti
[
Nascondere
]Func class
Delegato di funzione. Questo tipo dovrebbe essere allocato sullo stack e passato alle funzioni per valore o per riferimento. Non utilizzare mai la classe System::SmartPtr per gestire oggetti di questo tipo.
template<typename...>class Func : public System::MulticastDelegate<::System::Detail::FuncArgsReorderer<void(), Args...>::type>
| Parametro | Descrizione |
|---|---|
| Argomenti | Argomenti della chiamata, poi tipo di ritorno obbligatorio. |
Metodi
| Metodo | Descrizione |
|---|---|
| Func() | Costruttore predefinito che crea null-Func. |
| Func(T&&) | Costruttore che crea l’oggetto Func e assegna un valore (sia il callback reale sia nullptr) ad esso. |
| Func(const Func&) | Costruttore di copia. |
| Func(Func&&) | Costruttore di spostamento. |
| operator=(const Func&) | Assegnazione di copia. |
| operator=(Func&&) | Assegnazione di spostamento. |
| ~Func() | Distruttore. |
Osservazioni
#include "system/func.h"
#include <iostream>
// Questa funzione accetta un'istanza del delegato System::Func come parametro.
void Print(int x, const System::Func<int, int> &func)
{
std::cout << func(x) << std::endl;
}
int main()
{
// Crea un'istanza del delegato System::Func.
auto func = static_cast<System::Func<int, int>>([](int x) -> int
{
return x * x;
});
// Passa l'istanza creata come argomento della funzione.
Print(1, func);
Print(2, func);
Print(3, func);
return 0;
}
/*
This code example produces the following output:
1
4
9
*/
Vedi anche
- Namespace System
- Library Aspose.Font for C++