Automatisk Typdeduktion
Svep för att visa menyn
Även om C++ är ett statiskt typat språk kan du använda auto för att låta kompilatorn härleda typen av en variabel vid initiering. Denna funktion introducerades i C++11 och är inte tillgänglig i äldre versioner.
main.cpp
12345678910#include <iostream> int main() { auto num = 9; auto str = "I am string"; std::cout << num << std::endl; std::cout << str << std::endl; }
Detta kan spara tid och göra koden mer koncis, men det kan också dölja den avsedda typen och göra det svårare att upptäcka fel.
main.cpp
1234567891011#include <iostream> int main() { auto num1 = 9; auto num2 = 12; auto num3 = 15000; auto calculations = num1 / num2 * num3; std::cout << calculations; }
Att specificera typer hjälper oss att förstå koden bättre och identifiera fel:
main.cpp
1234567891011#include <iostream> int main() { float num1 = 9; float num2 = 12; float num3 = 15000; float calculations = num1 / num2 * num3; std::cout << calculations; }
Någon av num1, num2 eller num3 måste vara float för att ge korrekt resultat.
Trots detta används auto ofta i intervallbaserade for-loopar eftersom det är en mångsidig metod för att iterera över arrayer och andra behållare. Använd följande syntax för att iterera över arr:
main.cpp
auto.h
123456789#include <iostream> int main() { int num_arr[5] = {1, 5, 10, 15, 20}; for (auto num : num_arr) std::cout << num << " "; }
Det kan också användas när typen är lång att skriva ut men är tydlig från sammanhanget och inte kan leda till felaktiga resultat.
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal