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

bookVoid Data Type

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é de mémoire appropriée 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, cela pourrait être 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 avoir besoin de retourner quoi que ce soit, 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, nous pouvons 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 les fonctions, 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

Nous avons utilisé le mot-clé return sans réellement passer de valeur. 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 sont associés à aucun type de données spécifique. 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 un pointeur int* pour accéder à la valeur de num et l'afficher.

question mark

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

Sélectionnez la réponse correcte

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