Bu sorunun ilk olarak 2009'da, C ++ 11 onaylanmadan önce ve
auto
anahtar kelimenin anlamı büyük ölçüde değiştirilmeden önce yayınlandığını unutmayın . Verilen yanıtlar, yalnızca C ++ 03'ün anlamı ile ilgilidirauto
- bu, belirtilen bir depolama sınıfıdır - ve C ++ 11'in anlamıauto
- otomatik tür kesintisi değildir. C ++ 11'i ne zaman kullanacağınızla ilgili tavsiye arıyorsanızauto
, bu soru bu soruyla alakalı değildir.
En uzun süre, kullanmak için bir neden olmadığını düşündüm. static
anahtar kelimeyi C'de , çünkü blok kapsamının dışında bildirilen değişkenler dolaylı olarak küreseldi. Sonra, bir değişkeni static
blok kapsamı içinde ilan etmenin ona kalıcı bir süre vereceğini ve onu blok kapsamı dışında (program kapsamında) ilan etmenin ona dosya kapsamı vereceğini keşfettim (sadece bu derleme biriminde erişilebilir).
Yani bu bana, henüz tam olarak anlamadığım (belki de) tek bir anahtar kelime bırakıyor: auto
Anahtar kelime. Bunun 'yerel değişken'den başka bir anlamı var mı? Kullanmak isteyebileceğiniz her yerde sizin için dolaylı olarak yapılmayan herhangi bir şey? Bir auto
değişken program kapsamında nasıl davranır? static auto
Dosya kapsamındaki bir değişken nedir ? Bu anahtar kelimenin tamlık için var olmaktan başka bir amacı var mı ?