Thread overview
C++ - islev().islev() tarzı kullanım
Jul 16, 2016
İbrahim
Jul 16, 2016
İbrahim
July 16, 2016

Selamün Aleyküm;

C++'da islev().islev() tarzı sözdizimi kuralı nasıl oluşturulur? Yani bu nedir? Qt'da bu tarz kullanımlar bol bol mevcut. Teşekkürler.

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

July 16, 2016

Biraz daha açabilir misiniz? Mesela bendeki kaynakta Tur& nesne kullanımı bu şekilde hiç anlatılmamış, sadece fonksiyonlara referans olarak aktarmada kullanılmış. Bu tam olarak nedir? Ayrıca şu şekilde nasıl kullanabilirim?

nesne.islev0().islev1().islev2();

Aslında bu Java'da bir sınıfın yöntemlerini arka arkaya çağırabilme özelliği oluyor.

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

July 16, 2016

Birinci islev() çağrısı bir nesne döndürür. O nesnenin islev() diye bir üye işlevi vardır. İkinci islev() çağrısı o nesne üzerinde işletilir. Yani şunun eşdeğeri:

Tur & nesne = islev();
nesne.islev();

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

July 16, 2016

Karmaşık değil aslında: nesne.islev0() çağrısı bir nesne döndürüyor (çoğunlukla 'nesne' diye adlandırdığımız nesnenin kendisi). Örneğin, isvel0(), 'return *this' ifadesi ile bitiyordur. nesne.islev0() aynı nesneyi döndürdürdüğüne göre, islev1() de ona uygulanmış oluyor. Yani, nesne.islev1()... O da aynı 'nesne'yi döndürüyor ve sonuçta nesne.islev2() işletilmiş oluyor.

& karakteri, bir tür isminden sonra yazıldığında o türden referans anlamına gelir. Evet, fonksiyon çağrılırken yaygın olarak kullanılır. Referansları anlatmayan kaynağı rafa kaldırıyoruz ve daha iyi bir kaynak buluyoruz. ;)

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]