Automaattinen 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 otettiin käyttöön C++11-versiossa, eikä se ole saatavilla vanhemmissa versioissa.
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; }
Vaikka tämä voi säästää aikaa ja tehdä koodista tiiviimpää, se voi myös hämärtää aiotun tyypin, jolloin virheiden havaitseminen vaikeutuu.
main.cpp
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
1234567891011#include <iostream> int main() { float num1 = 9; float num2 = 12; float num3 = 15000; float calculations = num1 / num2 * num3; std::cout << calculations; }
Jokaisen num1, num2 tai num3 tulisi olla float, jotta tulos olisi oikea.
Siitä huolimatta 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
auto.h
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.
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme