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
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
Type de Données Void

Vous devez toujours spécifier le type car c'est un langage à typage statique. Le compilateur doit connaître le type exact de chaque variable pour allouer la quantité correcte de mémoire et pour appliquer la sécurité des types. Il doit également connaître les types des valeurs de retour des fonctions et des paramètres.

Remarque

Un langage à typage statique est un langage où le type de données d'une variable est explicitement déclaré et appliqué par le compilateur.

cpp

main

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

Dans ce cas, nous n'avons pas besoin d'un type de retour spécifique, il 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 pas besoin de retourner quoi que ce soit du tout ?

Void comme type de retour de fonction

Il y a souvent des fonctions qui semblent ne pas avoir besoin de retourner quoi que ce soit, comme :

cpp

main

copy
12345678
// Outputting infromation in console ___ log(std::string message) { std:: cout << message; } // Updating values for variables ___ update(int& variable, int new_value) { variable = new_value; } // Calling other 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 signifie l'absence de toute valeur ou type. Il peut être utilisé de plusieurs manières différentes, mais pour la fonction, il est généralement utilisé pour indiquer qu'une fonction ne retourne aucune valeur.

cpp

main

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é un mot-clé return mais n'avons en fait passé aucune valeur, le mot-clé return pourrait également être omis dans les fonctions void, essayez de l'effacer dans l'exemple.

Void en tant que Pointeur

Les pointeurs void (void*) sont des pointeurs qui n'ont pas de type de données spécifique associé. Ils peuvent pointer vers n'importe quel type d'objet, mais vous devez les convertir au type approprié avant de les utiliser. Ils sont vraiment utiles mais parfois difficiles à comprendre.

cpp

main

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 et imprimer la valeur de num.

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

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