26 Şubat 2013 Salı
İşaretçiler ( Pointers ) !
Programlamaya başlayan herkesin er yada geç karşılaştığı bir konu olan işaretçilere(pointers) kısa bir bakış atmak istedim. İşaretçilerin tanımı ile konuya başlayalım. İşaretçiler, bir nesnenin bellek adresini tutan değişkenlerdir. Oldukça basit bir şekilde tanımladığımız işaretçilere neden ihtiyaç olduğunu bir örnekle açıklamak istiyorum. Elinizde 100 MB lık bir nesne olsun, bu nesne ile ilgili programınızda işlem yapmak istediğinizde işletim sistemi size bu nesnenin bir kopyası üzerinde işlem yapmanıza izin verir. Dolayısıyla belleğe fazladan bir 100 MB eklemiş olursun. Ancak işaretçi kullanır isek nesnenin adresi ile direk nesneye ulaşarak üzerinde işlem yapabiliriz. Benim 8 GB belleğim var diyenleri duyar gibiyim bende size bu nesne üzerinde 1000 tane işlem yapmanız gerektiğini söylersem işaretçilerin neden bu kadar önemli olduğu anlayabilirsiniz. Performansın olmazsa olmaz olduğu programlarda işaretçi kullanımı neredeyse zorunludur. Şimdi madalyonun diğer tarafına bakma zamanı geldi. İşaretçilerin kullanımı hataya son derece açıktır. Derleme zamanında hata vermeyen programınız çalışma zamanında hatayla karşılaşabilir. İşte bu sebepten yeni nesil programlama dillerinden Java işaretçi kullanımını tamamen kaldırmıştır. Dot net platformunda ise geriye doğru uyumluluk adına işaretçi kullanımı desteklenmiş fakat platformu geliştirenler tarafından kullanımı tavsiye edilmemiştir. Yeni nesil programlama dillerinin işaretçilere bakış açısını belirleyen en önemli faktör ise bir işaretçinin işaret ettiği adreste bir nesnenin olduğunun garantisini verememesindendir.
Kaydol:
Kayıt Yorumları (Atom)
0 yorum:
Yorum Gönder