Automatisk Typeudledning
Stryg for at vise menuen
Selvom C++ er et statisk typet sprog, kan du bruge auto til at lade compileren udlede typen af en variabel under initialisering. Denne funktion blev introduceret i C++11 og er ikke tilgængelig 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; }
Selvom dette kan spare tid og gøre koden mere kortfattet, kan det også skjule den tilsigtede type, hvilket gør fejl sværere at opdage.
main.cpp
1234567891011#include <iostream> int main() { auto num1 = 9; auto num2 = 12; auto num3 = 15000; auto calculations = num1 / num2 * num3; std::cout << calculations; }
Angivelse af typer bidrager til bedre forståelse af koden og identificering af fejl:
main.cpp
1234567891011#include <iostream> int main() { float num1 = 9; float num2 = 12; float num3 = 15000; float calculations = num1 / num2 * num3; std::cout << calculations; }
Enhver af num1, num2 eller num3 skal være float for at give det korrekte resultat.
Ikke desto mindre anvendes auto ofte i range-baserede for-løkker, da det er en alsidig metode til at iterere over arrays og andre containere. Brug blot følgende syntaks for at iterere over 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 også bruges, når typen er lang at skrive, men er tydelig ud fra konteksten og ikke kan føre til forkerte resultater.
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat