İşaretçiler daha hızlı olabilir ve hem veri yapılarında hem de program yürütme ayak izinin düşük tutulmasında daha az ek yüke neden olabilir. (Lütfen 'can' kelimesine dikkat edin.)
Genel kural, eğer kendi tahsisinizi yaparak veya sizin adınıza bir şey yaparak bir kaynak ayırdıysanız, işiniz bittiğinde onu serbest bırakmak sizin görevinizdir.
Yukarıdakileri yapmanın yükü, çalışma zamanının bunu yapmak yerine sorumluluğu geliştiriciye geri vermektir. Bunun, bazı şeylerin daha uzun ömürlü olabilmesi veya sınırları geçebilmesi veya daha uygun zamanlarda atılabilmesi veya bir çöp toplayıcının ağırlığını taşıması gerekmemesi açısından bazı avantajları vardır.
Genellikle istisnalar ve kapsamı içeren egzotik durumlarda, temizleme işleminin kodundan kaçınılması durumunda birinin biraz daha dikkatli olmasını gerektiren bazı kenar durumlar vardır. Gerçekçi olarak, bu durumlar etrafında tasarlanabilir. Uzun yıllardır yönetilen kodlar olmadan yaşadık.
Genellikle işaretçileri “zor” yapan şey, donanım seviyesinde neler olup bittiğini anlamak değildir. Dolaylı olmaktan başka bir şey değildir.
İşaretçiler size çok daha ham erişim sağlar ve bu çok yararlı, zeki veya gerekli olabilir. Herhangi bir yere işaret edebilir ve hemen hemen her şey gibi davranabilirsiniz. Tanrı benzeri güçlerinizi iyilik için kullanırsanız, çok, çok iyidir.
Con tarafı genellikle bir şeyi serbest bırakmayı unutarak veya bir kereden fazla serbest bırakarak veya serbest bırakıldıktan sonra bir şeye başvurarak veya hiçbir yere işaret etmediğinizde bir şeyi reddederek boşa gider. Bunlar genellikle muhteşem çökmelere neden olur ve dürüst olmak gerekirse, işaretçiler kırılgan olmaktan ziyade bir mantık probleminiz olduğunu gösterir.
Sağlam bir geliştiriciyseniz, işaretçileri kullanmak diğer veri yapılarından daha sorunlu olmamalıdır. Yine, bu roket bilimi değil ve insanlar bunu göz kırpmadan onlarca yıldır yaptılar. Bu günlerde daha az içtenlikle öğretildi.
Tüm bunlar, işaretçilere ihtiyacınız olmadığı sürece, iyi bir çöp koleksiyonunun sağladığı taşıma ve dışsal durumlar, yönetilen bir ortamda çalışmayı çok daha güzel hale getirir. Biraz bellek kapmak, kullanmak ve onu terk etmek, bir süre sonra, bunun mantıklı olması durumunda, atılabileceğini bilmek harika. Bu, kodlayıcı tarafında, biraz daha fazla kaldırma yapan bir çalışma zamanı karşılığında biraz daha az kod.