Forum: Diğer Konular RSS
C++ 11 : std::function ve Fonksiyon İşaretçileri
İbrahim #1
Üye Eki 2015 tarihinden beri · 162 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Konu adı: C++ 11 : std::function ve Fonksiyon İşaretçileri
Selamün Aleyküm;

C++ 11'le gelen std::function'ın fonksiyon işaretçilerinin görevini gördüğünü farkettim. Muhtemelen ince ayrıntıları vardır lakin hangisini ne zaman kullanmalıyız?

Teşekkürler!
kerdemdemir #2
Üye Eyl 2013 tarihinden beri · 125 mesaj · Konum: Danimarka
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Merhaba Ibrahim,

std::function gercekten guclu bir sey. Fonksiyon isaretcileri ile ilgilenmen bence cok guzel cunku fonksiyonel programlama cok guclu. Gun gectikce daha cok kullaniliyor ve her yerde kendini gosteriyor.

Ben her yerde std::function kullanmani oneririm eger tabi C++ derleyicin varsa.

std::function ' in en guzel noktasi bu sinifa hem functor, lamdba, mem_fn , serbest fonksiyon , uye fonksiyon her seyi atabilmen,

Benim gordugum en guzel kullanim yolu ise

void
foo ( std::function<void()> fonksiyon )
{
   fonksiyon();
}


Burda fonksiyon parametresini

*******************
 foo([](){ std::cout << "Merhaba Dunya" ;});
*******************
void yardimciFoo()
{
  std::cout << "Merhaba Dunya" ;
}
 foo ( yardimciFoo )

 ******************
struct FunctorFoo
{
     void operator()()
    {
        std::cout << "Merhaba Dunya" ;
    }
}
 FunctorFoo functor;
 foo ( functor )

*******************

Gibi degisik sekillerde cagirabilirsin. Burda C++ std::function 'u yerine C isaretcilerini kullansaydin biraz daha uzar ve bence daha anlasilmaz olurdu.

Bunun yani sira isaret gosterici dizileri kafami karistirmistir grammer olarak std::function da bu bence daha guzel ve kolay.

Saygilarimla
Erdemdem
Bu mesaj kerdemdemir tarafından değiştirildi; zaman: 2017-08-07, 03:01.
Doğrulama Kodu: VeriCode Lütfen resimde gördüğünüz doğrulama kodunu girin:
İfadeler: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O
Özel Karakterler:
Bağlı değilsiniz. · Şifremi unuttum · ÜYELİK
This board is powered by the Unclassified NewsBoard software, 20100516-dev, © 2003-10 by Yves Goergen
Şu an: 2017-12-18, 00:56:33 (UTC -08:00)