Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Type de Données Void | Autres Types de Données et Concepts
Practice
Projects
Quizzes & Challenges
Quiz
Challenges
/
Types de Données en C++

bookType de Données Void

Glissez pour afficher le menu

Il est toujours nécessaire de spécifier le type car il s'agit d'un langage à typage statique. Le compilateur doit connaître le type exact de chaque variable afin d'allouer la quantité correcte de mémoire et d'assurer la sécurité des types. Il doit également connaître les types des valeurs de retour et des paramètres des fonctions.

Note
Remarque

Un langage à typage statique est un langage dans lequel le type de données d'une variable est explicitement déclaré et imposé par le compilateur.

main.cpp

main.cpp

copy
12345678910
#include <iostream> // Let's consider a simple example. // Imagine you need to create a function that logs something in console. // What type should it return? ___ log(std::string message) { std::cout << message; return ___; }

Dans ce cas, il n'est pas nécessaire d'utiliser un type de retour spécifique tel que int, double, float ou bool. Pour ce scénario, le type exact n'a pas d'importance. En fait, que se passe-t-il si nous n'avons rien à retourner du tout ?

Void comme type de retour de fonction

Il existe souvent des fonctions qui ne semblent pas nécessiter de valeur de retour, comme :

main.cpp

main.cpp

copy
12345678
// Outputting information in console ___ log(std::string message) { std::cout << message; } // Updating values of variables ___ update(int& variable, int new_value) { variable = new_value; } // Calling another function ___ closeFile(std::fstream& file) { file.close(); }

Dans ce cas, il est possible d'utiliser le type de données void. Le type de données void en programmation indique l'absence de toute valeur ou type. Il peut être utilisé de différentes manières, mais pour une fonction, il sert généralement à indiquer qu'une fonction ne retourne aucune valeur.

main.cpp

main.cpp

copy
123456789101112
#include <iostream> void log(std::string message) { std::cout << message; return; } int main() { log("This is a void function!"); }

Remarque

Le mot-clé return a été utilisé sans qu'aucune valeur ne soit réellement transmise. Le mot-clé return peut également être omis dans les fonctions de type void. Essayez de le supprimer dans l'exemple.

Void en tant que pointeur

Les pointeurs void (void*) sont des pointeurs qui ne possèdent pas de type de données spécifique associé. Ils peuvent pointer vers n'importe quel type d'objet, mais il est nécessaire de les convertir vers le type approprié avant de les utiliser. Ils sont très utiles mais parfois difficiles à comprendre.

main.cpp

main.cpp

copy
1234567891011121314
#include <iostream> int main() { int num = 10; // Here we are creating a void pointer // Now it can point to any variable of any data type // You can try changing the type of `num` from `int` to `float` void* ptr = &num; // To use this pointer, we need to cast it to the appropriate type // VVV int* intPtr = static_cast<int*>(ptr); std::cout << *intPtr << std::endl; // Output: 10 }

Dans cet exemple, ptr est un pointeur void qui pointe vers un entier (num). Nous convertissons ensuite ptr en pointeur int* afin d'accéder à la valeur de num et de l'afficher.

question mark

Que signifie l'utilisation de void comme type de retour de fonction en C++ ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 4. Chapitre 3

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Section 4. Chapitre 3
some-alt