Hepimiz işaretçinin (ve diğer POD türlerinin) başlatılması gerektiğinin farkındayız.
Soru daha sonra 'onları kimin başlatması gerektiği' olur.
Temelde iki yöntem var:
- Derleyici onları başlatır.
- Geliştirici bunları başlatır.
Derleyicinin, geliştirici tarafından açıkça başlatılmamış herhangi bir değişkeni başlattığını varsayalım. Sonra, değişkeni başlatmanın önemsiz olmadığı ve geliştiricinin bunu bildirim noktasında yapmamasının nedeni, bir işlem gerçekleştirmesi ve sonra atama yapması gerektiğiydi.
Şimdi, derleyicinin, değişkeni NULL olarak başlatan koda fazladan bir talimat eklediğini ve daha sonra doğru başlatmayı yapmak için geliştirici kodunun eklendiğini görüyoruz. Veya diğer koşullar altında değişken potansiyel olarak asla kullanılmaz. Pek çok C ++ geliştiricisi, her iki koşulda da bu ekstra talimatın bedeli olarak faul çığlık atabilir.
Bu sadece zamanla ilgili değil. Ama aynı zamanda boşluk. Her iki kaynağın da premium olduğu ve geliştiricilerin de pes etmek istemediği birçok ortam var.
AMA : Başlatmaya zorlamanın etkisini simüle edebilirsiniz. Çoğu derleyici, sizi başlatılmamış değişkenler hakkında uyaracaktır. Bu yüzden uyarı seviyemi her zaman mümkün olan en yüksek seviyeye çeviriyorum. Sonra derleyiciye tüm uyarıları hata olarak ele almasını söyleyin. Bu koşullar altında çoğu derleyici, başlatılmamış ancak kullanılan değişkenler için bir hata oluşturacak ve bu nedenle kodun oluşturulmasını engelleyecektir.