auto kulcsszó a C++-banA C++-ban az auto kulcsszó egy erőteljes lehetőség, amely a C++11-ben jelent meg, és amellyel kikövetkeztetett adattípusú változókat hozhatsz létre.
A fordító a változó kezdőértéke alapján következteti ki annak típusát, amitől a kód olvashatóbb és könnyebben karbantartható lesz.
Nézzük a következő példát, amelyben az auto kulcsszóval változókat hozunk létre:
auto dragon_population{3}; // dragon_population is deduced as an integer
auto westeros{7.7777}; // westeros is deduced as a double
auto wedding_location{"The Twins"}; // wedding_location is deduced as a const char*, not std::string
Mindegyik esetben a változó típusát abból az értékből következteti ki a fordító, amellyel inicializáltuk.
Az auto kulcsszó segít tömörebb és olvashatóbb kódot írni, mert csökkenti a kifejezett típusok bőbeszédűségét.
const std::vector<std::string> pigeon_pie{"flour", "butter", "pigeon", "salt"};
auto purple_wedding_pie{pigeon_pie};
purple_wedding_pie.emplace_back("the strangler");
Ebben a ciklusban az auto a purple_wedding_pie típusaként a std::vector<std::string> típust következteti ki, elkerülve, hogy a típust ismét kifejezetten meg kelljen adni.
Az auto kulcsszó számos C++ szerkezettel működik együtt, ami sokoldalú eszközzé teszi a modern C++ programozásban.
auto& element{array[0]}; // reference to an element
const auto object{otherObject}; // const type version of otherObject's type
auto* ptr{&x}; // pointer to x with the same type as x, but as a pointer.
A későbbi fogalmak során gyakran fogjuk látni az auto kulcsszót lambda kifejezésekkel, tartományalapú for-ciklusokkal és iterátorokkal.
auto különösen hasznos olyan generikus programozási helyzetekben, ahol a típusok összetettek vagy sablonokhoz kapcsolódnak.auto csökkenti a zsúfoltságot és javítja a kód karbantarthatóságát.