Skip to content

auto kalit so'zi

auto kalit so'zi o'zgaruvchining turini siz unga tayinlagan qiymatga qarab avtomatik ravishda aniqlaydi.

Bu sizga tozaroq kod yozishga va turlarni takrorlashdan qochishga yordam beradi, ayniqsa uzun yoki murakkab turlar bilan ishlaganda.

Masalan: int x = 5; deb yozish o'rniga quyidagicha yozishingiz mumkin:

MISOL

cpp
auto x = 5;      // x avtomatik ravishda int deb hisoblanadi

MA'LUMOT

C++11 standartidan boshlab, auto kompilyatorga tayinlangan qiymat asosida turni aniqlashga ruxsat beruvchi kuchli vositaga aylandi.


Turli xil turlar bilan misol

Quyida auto dan foydalanib, tayinlangan qiymatlar asosida har xil turdagi o'zgaruvchilar yaratish misoli keltirilgan:

MISOL

cpp
// auto o'zgaruvchilarini yaratish
auto myNum = 5;             // int
auto myFloatNum = 5.99f;    // float
auto myDoubleNum = 9.98;    // double
auto myLetter = 'D';        // char
auto myBoolean = true;      // bool
auto myString = string("Salom"); // std::string

MUHIM ESLATMALAR

  • auto faqat e'lon qilish vaqtida qiymat tayinlangandagina ishlaydi (Siz qiymat bermasdan auto x; deb e'lon qila olmaysiz).
  • Tur bir marta aniqlangandan so'ng, u o'zgarmas bo'lib qoladi. Quyidagi misolni ko'ring:
cpp
auto x = 5; // x hozirda int
x = 10;     // TO'G'RI - hali ham int
x = 9.99;   // XATO - int turiga double qiymat berib bo'lmaydi

Eslatma: Ushbu qo'llanmada, agar tur sodda va tushunarli bo'lsa, odatda int, double kabi asosiy turlardan foydalanamiz.

Biroq, iteratorlar va lambda ifodalari kabi murakkabroq turlar uchun kodni toza va tushunarli saqlash maqsadida auto dan foydalanish tavsiya etiladi.