Yazarlar Sözlük Makaleler Yardım Masası Gözlük Forum İstatistik

Tüm Başlıklar XML

1.  c ve c++'ta bir fonksiyona işaret eden pointer. dynamic binding (dinamik bağlama) sayesinde implementation'dan bağımsız kod yazmayı sağlar, güzeldir. mesela list() diye bir fonksiyonunuz var, argüman olarak sort fonksiyonuna bir pointer alıyor. bu durumda list()'e runtime'da farklı sort fonksiyonları geçirebilir, performanslarını karşılaştırabilirsiniz.
hey
21 Haziran 2005 20:02
2.  C# eşleniği için bkz. delegate
MrOK
21 Haziran 2005 20:05
3.  C, C#, Java, Javascript gibi dillerde fonksiyonun adı o fonksiyonu gösteren bir değişken(pointer) olarak kullanılır. Visual Basic gibi dillerde fonksiyon adı bu anlama sahip değildir.

Örneğin;
int hesapla(int sayi1, int sayi2){
   //...
}
gibi bir fonksiyon,
int(int, int)
tipinde bir fonksiyondur. "hesapla" ise bu tipte bir değişkendir. Bu tipte parametre isteyen başka fonksiyonlara hesapla değişkeni parametre olarak gönderilebilir veya bu tipteki başka değişkenlere atanabilir.

Function pointer C'nin anlaşılması zor konularındandır. Bunun sebebi bir fonksiyonun tipini belirlemenin ve onu pointer tipine dönüştürmenin biraz fazla fosfor gerektirmesidir. Ama Javascript gibi tip takıntısı olmayan C türevi script dillerinde bu kavram çok çok daha basitleşir. Tiplerle ilgilenmediğiniz için fonksiyonları kolayca değişkenlere atayabilir, başka fonksiyonlara parametre olarak gönderebilirsiniz. Mesela meşhur alert fonksiyonunu değiştirmek isterseniz yapmanız gereken şudur:
function myAllert(str){ alert("Mesaj: " + str); }
window.alert = myAlert;
Bu tanımdan sonra alert("falan") satırları myAlert'i çağıracaktır.

C# ve Java gibi (tip takıntısı olan ve fakat C'den daha kolay olma iddiasında olan) dillerde ise function pointer kavramı yerini delegate kavramına bırakmıştır. Yeni başlayanlar için karmaşık görünen bu konu, C'deki analoğu function pointer'dan çok daha basittir.
fizikci
31 Ocak 2007 15:56
Bu konuda bildiklerinizi bizlerle paylaşabilirsiniz
Tabi bunun için yazarsanız giriş yapmalı, yazar değilseniz yazar olmalısınız.


Bu başlığa bkz veren girişlerin başlıkları nedir?

Bu başlığa bkz veren girişler başka hangi başlıklara bkz verdiler?
© 2005, Bilişim Kulübü. (1140 ms)
Ne yapabilirsin: SubtitleClick ile İngilizceni Geliştir, Çınar Framework ile kod yaz, Eglencelik.org'ta biraz eğlen