Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Automaattinen tyyppipäättely | Section
C++-Tietotyypit

bookAutomaattinen tyyppipäättely

Pyyhkäise näyttääksesi valikon

Vaikka C++ on staattisesti tyypitetty kieli, voit käyttää auto-avainsanaa, jolloin kääntäjä päättelee muuttujan tyypin alustuksen yhteydessä. Tämä ominaisuus esiteltiin C++11-versiossa, eikä se ole käytettävissä vanhemmissa versioissa.

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; }

Tämä voi säästää aikaa ja tehdä koodista tiiviimpää, mutta samalla se voi hämärtää muuttujan tarkoitetun tyypin, jolloin virheiden havaitseminen vaikeutuu.

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; }

Tyyppien määrittely auttaa ymmärtämään koodia paremmin ja löytämään virheet:

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
Huomio

Joko num1, num2 tai num3 tulee olla float, jotta tulos on oikea.

Kuitenkin auto on laajasti käytössä aluepohjaisissa for-silmukoissa, koska se on monipuolinen tapa käydä läpi taulukoita ja muita säiliöitä. Käytä seuraavaa syntaksia iteroidaksesi arr-taulukon yli:

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 << " "; }

Sitä voidaan käyttää myös silloin, kun tyyppi on pitkä kirjoittaa mutta on selvä kontekstista eikä voi johtaa virheellisiin tuloksiin.

question mark

Mikä on auto-avainsanan päätarkoitus C++:ssa?

Valitse oikea vastaus

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 1. Luku 14

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Osio 1. Luku 14
some-alt