System::Func class
περιεχόμενα
[
κρύβω
]Func class
Delegate λειτουργίας. Αυτός ο τύπος θα πρέπει να κατανεμηθεί στη στοίβα και να περνιέται σε συναρτήσεις με τιμή ή με αναφορά. Ποτέ μην χρησιμοποιείτε την κλάση System::SmartPtr για τη διαχείριση αντικειμένων αυτού του τύπου.
template<typename...>class Func : public System::MulticastDelegate<::System::Detail::FuncArgsReorderer<void(), Args...>::type>
| Parameter | Περιγραφή |
|---|---|
| Παράμετροι | Παράμετροι κλήσης, έπειτα υποχρεωτικός τύπος επιστροφής. |
Μέθοδοι
| Μέθοδος | Περιγραφή |
|---|---|
| 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.Page for C++