Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Automatisk Typeudledning | Section
C++ Datatyper

bookAutomatisk 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

main.cpp

copy
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

main.cpp

copy
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 hjælper med at forstå koden bedre og identificere fejl:

main.cpp

main.cpp

copy
1234567891011
#include <iostream> int main() { float num1 = 9; float num2 = 12; float num3 = 15000; float calculations = num1 / num2 * num3; std::cout << calculations; }
Note
Bemærk

Enhver af num1, num2 eller num3 skal være float for at give det korrekte resultat.

Alligevel bruges 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

main.cpp

auto.h

auto.h

copy
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.

question mark

Hvad er hovedformålet med nøgleordet auto i C++?

Vælg det korrekte svar

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 1. Kapitel 14

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Sektion 1. Kapitel 14
some-alt