Bir dile anahtar sözcük olarak eklemeyi düşündüğünüz hemen hemen her kelime, neredeyse kesinlikle değişken adı veya çalışma kodunun başka bir parçası olarak kullanılmıştır. Bu kelimeyi bir anahtar kelime yaparsanız bu kod kırılır.
İnanılmaz derecede şanslı olan şey auto
, zaten bir anahtar kelime olmasıydı, bu yüzden insanların bu adla değişkenleri yoktu, ancak hiç kimse bunu kullanmadı, çünkü varsayılandı. Neden yazmalısınız?
auto int i=0;
ne zaman
int i=0;
tamamen aynı şey demekti?
Gezegendeki bir yerlerde eski yolu 'otomatik' kullanan az miktarda kod vardı. Ancak 'otomatik' kaldırılarak düzeltilebilir ve tekrar çalışır. Bu nedenle, anahtar kelimeyi yeniden düzenlemek oldukça açık bir seçimdi.
Bunun daha açık bir anlam olduğunu düşünüyorum. Varyantlarla ve benzerleriyle çalıştıysanız, gördüğünüzde var
, bildirimin, değişkenin türünü belirtmek için klavyedeki tüm tuşlara kendiniz bastığınızdan daha az güçlü bir şekilde yazıldığını düşünebilirsiniz. Bana göre, auto
derleyiciden türü kendiniz belirlediğiniz kadar güçlü olan türünü otomatik olarak çıkarmasını istersiniz. Bu yüzden komiteye iyi bir isim veren çok şanslı bir ara oldu.
(Küçük) kırılmayı netleştirmek için:
Olsaydı
auto int i=0;
ve bir C ++ 11 derleyicisi ile derlemeye çalıştığınızda, artık bir hata alırsınız
hata C3530: 'otomatik' başka tür belirtici ile birleştirilemez
Bu önemsiz, sadece otomatik veya int kaldırmak ve yeniden derlemek.
Yine de daha büyük bir sorun var. Olsaydı
auto i = 4.3;
C ve gerçekten eski C ++ kılacak i
bir int
(bıraktığınız eğer olduğu gibi auto
- Varsayılan bildirgesiydi int
). Bu kodu derlemeden çok uzun zaman geçtiyseniz veya eski derleyicileri kullanıyorsanız, en azından teoride bu kodlardan bazılarına sahip olabilirsiniz. C ++ 11 double
4.3 olduğu için bunu yapar . (Ya da belki float
de, Boks Günü modundayım, ama asıl nokta, bir değil int
.) Bu, uygulamanız boyunca ince hatalar getirebilir. Ve derleyiciden herhangi bir uyarı veya hata olmadan. Bu teknedeki insanlar, auto
bir C ++ 11 derleyicisine geçmeden önce eski şekilde kullanmadığından emin olmak için globablly aramalıdır . Neyse ki, böyle bir kod son derece nadirdir.
auto
geriye dönük uyumluluğu bozabilir, ancak anahtar kelimenin 11 öncesi koddavar
ne sıklıktaauto
kullanıldığına kıyasla değişken ad olarak ne sıklıkta kullanıldığına bağlı olarak , komite uyumluluğu yeni bir girişten daha az önemli ölçüde bozduğunu seçmiş olabilir. anahtar kelime.