System::Func class
Contenido
[
Ocultar
]Func class
Delegado de función. Este tipo debe ser asignado en la pila y pasado a funciones por valor o por referencia. Nunca use la clase System::SmartPtr para gestionar objetos de este tipo.
template<typename...>class Func : public System::MulticastDelegate<::System::Detail::FuncArgsReorderer<void(), Args...>::type>
| Parámetro | Descripción |
|---|---|
| Argumentos | Argumentos de llamada, luego tipo de retorno obligatorio. |
Métodos
| Método | Descripción |
|---|---|
| Func() | Constructor predeterminado que crea null-Func. |
| Func(T&&) | Constructor que construye un objeto Func y asigna un valor (ya sea una devolución de llamada real o nullptr) a él. |
| Func(const Func&) | Constructor de copia. |
| Func(Func&&) | Constructor de movimiento. |
| operator=(const Func&) | Asignación por copia. |
| operator=(Func&&) | Asignación por movimiento. |
| ~Func() | Destructor. |
Observaciones
#include "system/func.h"
#include <iostream>
// Esta función acepta una instancia del delegado System::Func como parámetro.
void Print(int x, const System::Func<int, int> &func)
{
std::cout << func(x) << std::endl;
}
int main()
{
// Cree una instancia del delegado System::Func.
auto func = static_cast<System::Func<int, int>>([](int x) -> int
{
return x * x;
});
// Pase la instancia creada como argumento de la función.
Print(1, func);
Print(2, func);
Print(3, func);
return 0;
}
/*
This code example produces the following output:
1
4
9
*/
Ver también
- Namespace System
- Library Aspose.Page for C++