SORU
10 AĞUSTOS 2013, CUMARTESİ


Neden zaten değişken sabit olması gerekirdi eğer anahtar kelime inş kullanırsınız?

Okuyorum kitapların çoğu bir değişken değeri değiştirilmemelidir const anahtar kelime kullanın. Apart from belirterek okuyucuların kodun neden olabilir hataları değiştirirseniz bu değişken (kullanabilirsiniz yorum bu, neden gereken anahtar kelime bir parçası olmak herhangi bir programlama dili? Eğer bir değişken değiştirilmiş istemesen bile, sadece yok gibi geliyor bana.

Birisi bana bu açıklığa kavuşturmak olabilir?

CEVAP
10 AĞUSTOS 2013, CUMARTESİ


Bu değişken(yorum bunu yapmak için kullanabilirsiniz) değiştirirseniz hataları neden olabilir kod okuyucular için belirtme dışında

"Olabilir";programda hatalara neden.

  • C compiler derleme hataları ve tanı mesajları ile bunu zorunlu kılar ("derleyici hatası"), yorum gerek yok;
  • C compiler bunu zorunlu kılarçoğunluklaama standart kütüphane bulunmaktadır delikleri sayesinde eski gibi strchr, ve bazı oldukça yumuşak örtük dönüştürme kuralları bu izin için damla constness olmadan gerçekleştirmek oldukça kolay. Ancak, sırf başarılı bir derleme hataları olmadığı anlamına gelmez; ne yazık ki, olduyokbu programın hataları ince hataların yanı sıra, büyük, muhteşem çöker.

Her iki şekilde de, sizin programı içerir garantilidirhataiçinde.

Eğer bir değişken değiştirilmiş istemesen bile, sadece yok gibi geliyor bana.

Peki bu iyi bir şey, ama hiç kimse mükemmel değildir. Programcılar hata yapar. Bu asla hata (en azından genelde) - yapar derleyici sağlar -; onları gösterebilir.

Bazı veriler değişken kod çok uzakta hatları oluşturuldu nereden kullanırken özellikle. Daha uzakta, daha gelmemen gerekiyordu farkında olmadan değiştirmek kolaydır. Büyük, karmaşık kod tabanları için bir zorunluluktur sadece.

Yeni bir önlem almakprovability,doğruluğuvekararlılıkkod tabanı, yanı sıra çok ince ve pis böcek olası nedenleri kapalı büyük bir kısmını. Aynı zamanda büyük vardıroptimizasyon olanaklarıo bilir ne zaman derleyici (bazı durumlarda) için bazı değer derleme sonra değişmeyecek.

Avantajları bütün gün ama, gerçekten, olmayacak tam olarak sayabilirizgrokböyle bir kod temeli üzerinde çalıştıktan görene kadar.

Aslında, mükemmel bir dünyada, içindetüm değişkenleri const varsayılan olacaktıranahtar mutable onları değiştirmek mümkün olmak ile bildirmeniz gerekir , ve. C geriye.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • case LianLi

    case LianLi

    28 Mayıs 2010
  • Eric Anthony

    Eric Anthony

    13 AĞUSTOS 2011
  • KarnasCamillo

    KarnasCamill

    24 EKİM 2007