Deduzione Automatica del Tipo
Scorri per mostrare il menu
Sebbene C++ sia un linguaggio a tipizzazione statica, è possibile utilizzare auto per permettere al compilatore di dedurre il tipo di una variabile durante l'inizializzazione. Questa funzionalità è stata introdotta in C++11 e non è disponibile nelle versioni precedenti.
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; }
Sebbene ciò possa far risparmiare tempo e rendere il codice più conciso, può anche oscurare il tipo previsto, rendendo più difficili da individuare eventuali errori.
main.cpp
1234567891011#include <iostream> int main() { auto num1 = 9; auto num2 = 12; auto num3 = 15000; auto calculations = num1 / num2 * num3; std::cout << calculations; }
La specifica dei tipi aiuta a comprendere meglio il codice e a individuare eventuali errori:
main.cpp
1234567891011#include <iostream> int main() { float num1 = 9; float num2 = 12; float num3 = 15000; float calculations = num1 / num2 * num3; std::cout << calculations; }
Qualsiasi tra num1, num2 o num3 deve essere di tipo float per ottenere il risultato corretto.
Tuttavia, auto è ampiamente utilizzato nei cicli for basati su intervallo poiché rappresenta un metodo versatile per iterare su array e altri contenitori. Utilizzare la seguente sintassi per iterare su 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 << " "; }
Può essere utilizzato anche quando il tipo è lungo da scrivere ma risulta chiaro dal contesto e non può portare a risultati errati.
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione