System::Func class
Содержание
[
Скрывать
]Func class
Делегат функции. Этот тип должен быть выделен в стеке и передаваться в функции по значению или по ссылке. Никогда не используйте класс System::SmartPtr для управления объектами этого типа.
template<typename...>class Func : public System::MulticastDelegate<::System::Detail::FuncArgsReorderer<void(), Args...>::type>
| Параметр | Описание |
|---|---|
| Аргументы | Аргументы вызова, затем обязательный тип возвращаемого значения. |
Методы
| Метод | Описание |
|---|---|
| Func() | Конструктор по умолчанию, создающий null‑Func. |
| Func(T&&) | Конструктор, который создает объект Func и присваивает ему значение (либо реальный обратный вызов, либо nullptr). |
| Func(const Func&) | Конструктор копирования. |
| Func(Func&&) | Конструктор перемещения. |
| operator=(const Func&) | Копирующее присваивание. |
| operator=(Func&&) | Перемещающее присваивание. |
| ~Func() | Деструктор. |
Примечания
#include "system/func.h"
#include <iostream>
// Эта функция принимает в качестве параметра экземпляр делегата System::Func.
void Print(int x, const System::Func<int, int> &func)
{
std::cout << func(x) << std::endl;
}
int main()
{
// Создайте экземпляр делегата System::Func.
auto func = static_cast<System::Func<int, int>>([](int x) -> int
{
return x * x;
});
// Передайте созданный экземпляр в качестве аргумента функции.
Print(1, func);
Print(2, func);
Print(3, func);
return 0;
}
/*
This code example produces the following output:
1
4
9
*/
См. также
- Namespace System
- Library Aspose.Font for C++