Pointer lar genellikle geriye uyumluluk(c# da eski com tabanli nesnelerin parametreleri) ve direk bellege erisim sagladigi icin performans kazanmak amaciyla kullanilabilir. Adres blogu dedigin sey degiskenlerin adreslerinin tutuldugu yerdir bellekte.deger ve referans veri tipleri icin bellegin farkli kisimlari kullanilir. Pointerlari kullanirken en cok dikkat etmen gereken sey rastgele adreslerin degerlerini degistirmemen gerektigidir yoksa basina hersey gelebilir isletim sistemine zarar bile verebilirsin istemeden. İki farkli operator u vardir deger ve adres operatorleri olmak uzere deger operatoru belirli bir adresteki degeri degistirmene adres operatorude belirli bir degiskenin adresini onaltilik sistemde almaya yarar internette fazlaca kaynak bulman mumkun kullanmi hakkinda
1 - Memory deki data manipulasyonu icin cok kuvvetli bir yontem. Eristigi memory blogunu degistirebilir, baska bir pointer a assign edebilir ya da hizlica silebilirsin. Dezavantaji programlamaci uzerindeki sorumlulugu arttirir. Kod karmasasi yaratabilir.
2- Adres, memory deki datayi gosteren bilgidir. A noktasindaki bolumde B datasi varsa ve bunu C pointer i gosteriyorsa eger, burada A adrestir, B memory deki datadir. D pointer i ile de A noktasini isaret ettirip ayni B datasina D ile de referans verebilirsin. Ancak D pointerinin point ettigi data blogunda , yani B de, herhangi bir degisiklik yaparsan C pointerinin referans gosterdigi degeri de degistirmis olacaksindir. Eger C ve D pointer larini silersen, A noktasindaki B datasi memory de kalacak ve memory leak olusturacak.
3- Memory leak en onemli dikkat edilmesi gereken sey bana gore. Yukarida acikladigim sekilde olusmasi ve gozden kacirilmasi kolay.
4- 2. maddede anlattigim sekilde calisirlar. Call by reference vs Call by value incelenebilir daha fazla detay icin.
Genelde yuksek trafikli sistemlerin cekirdeginde kullanilir. En buyuk nedeni ise garbage collector a gerek duymadan rahatlikla objectleri silebiliriz. Onun disinda performans a gerek yoksa kullanmasakta olur.
C/c++ ta objelere referans ile erişmenin yoludur. Kullanılması isteğe bağlı değil zorunluluktur. Püf noktası falan yok, bileceksin ve kullanacaksın yoksa c/c++ ile kod yazman olanaksız. Zor geliyorsa daha basit diller de var.
C/c++ ta objelere referans ile erişmenin yoludur. Kullanılması isteğe bağlı değil zorunluluktur. Püf noktası falan yok, bileceksin ve kullanacaksın yoksa c/c++ ile kod yazman olanaksız. Zor geliyorsa daha basit diller de var.
Bence pointer kullanimini bu kadar programlamacinin eline birakmak dili zorlastirmiyor, ya da digerlerini basitlestirmiyor. Daha dogrusu basitlik ya da zorluk kavramlari bunun uzerine olmamali.
1)Pointerlerın avantajı ve dezavantajı nedir ? Bize ne kolaylık sağlarlar ?
2)Adres ve hafıza bloğu tam olarak nedir ?
3)Pointerlerın yapmamamız gereken hatalar(Sık yapılan hatalar).
4)Pointerlerın püf noktaları, öncelikle bilinmesi gereken noktaları...
5)Farklı yanları(Kullanımı,yazımı,işleyişi)
Cevap veren herkese teşekkür ederim.