System::Func class

Func class

Fonksiyon temsilcisi. Bu tür yığına tahsis edilmeli ve fonksiyonlara değer ya da referans olarak geçirilmelidir. Bu tür nesneleri yönetmek için asla System::SmartPtr sınıfını kullanmayın.

template<typename...>class Func : public System::MulticastDelegate<::System::Detail::FuncArgsReorderer<void(), Args...>::type>
ParametreAçıklama
ArgsÇağrı argümanları, ardından zorunlu dönüş tipi.

Yöntemler

YöntemAçıklama
Func()null-Func oluşturan varsayılan yapıcı.
Func(T&&)Func nesnesini oluşturan ve ona değer (gerçek geri çağırma ya da nullptr) atayan yapıcı.
Func(const Func&)Kopya yapıcı.
Func(Func&&)Taşıma kurucusu.
operator=(const Func&)Kopya atama.
operator=(Func&&)Taşıma atama.
~Func()Yıkıcı.

Açıklamalar

#include "system/func.h"
#include <iostream>

// Bu işlev, bir parametre olarak System::Func temsilcisinin bir örneğini kabul eder.
void Print(int x, const System::Func<int, int> &func)
{
  std::cout << func(x) << std::endl;
}

int main()
{
  // System::Func temsilcisinin bir örneğini oluştur.
  auto func = static_cast<System::Func<int, int>>([](int x) -> int
  {
    return x * x;
  });

  // Oluşturulan örneği bir işlev argümanı olarak geçir.
  Print(1, func);
  Print(2, func);
  Print(3, func);

  return 0;
}
/*
This code example produces the following output:
1
4
9
*/

Ayrıca Bakınız