Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Déduction Automatique de Type | Autres Types de Données et Concepts
Types de Données C++
course content

Contenu du cours

Types de Données C++

Types de Données C++

1. Introduction
2. Types de Données Numériques
3. Type de Données Texte
4. Autres Types de Données et Concepts

book
Déduction Automatique de Type

Bien que C++ soit un langage à typage statique, vous pouvez utiliser auto pour laisser le compilateur déduire le type d'une variable lors de l'initialisation. Cette fonctionnalité a été introduite dans C++11 et n'est pas disponible dans les versions antérieures.

cpp

main

copy
12345678910
#include <iostream> int main() { auto num = 9; auto str = "I am string"; std::cout << num << std::endl; std::cout << str << std::endl; }

Bien que cela puisse faire gagner du temps et rendre le code plus concis, cela peut également obscurcir le type prévu, rendant les erreurs plus difficiles à repérer.

cpp

main

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

Spécifier les types nous aiderait à mieux comprendre le code et à trouver ce qui ne va pas :

cpp

main

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

Remarque

L'un des num1, num2 ou num3 doit être float pour obtenir le résultat correct.

Néanmoins, auto est largement utilisé dans les boucles for basées sur la plage car c'est une méthode polyvalente pour itérer sur des tableaux et d'autres conteneurs. Utilisez simplement la syntaxe suivante pour itérer sur arr :

cpp

main

h

auto

copy
123456789
#include <iostream> int main() { int num_arr[5] = {1, 5, 10, 15, 20}; for (auto num : num_arr) std::cout << num << " "; }

Il peut également être utilisé lorsque le type est long à taper mais est clair dans le contexte et ne peut pas conduire à des résultats incorrects.

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 4. Chapitre 4
We're sorry to hear that something went wrong. What happened?
some-alt