Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Void Gegevenstype | Overige Gegevenstypen en Concepten
Practice
Projects
Quizzes & Challenges
Quizzen
Challenges
/
C++ Gegevenstypen

bookVoid Gegevenstype

Veeg om het menu te tonen

Het type moet altijd worden gespecificeerd omdat het een statisch getypeerde taal is. De compiler moet het exacte type van elke variabele kennen om de juiste hoeveelheid geheugen toe te wijzen en typeveiligheid af te dwingen. Ook moet het de types van functieresultaten en parameters weten.

Note
Opmerking

Een statisch getypeerde taal is een taal waarin het gegevenstype van een variabele expliciet wordt gedeclareerd en door de compiler wordt afgedwongen.

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 ___; }

In dit geval is een specifiek retourtype niet vereist; dit kan int, double, float of bool zijn. Voor dit scenario maakt het exacte type niet uit. Maar wat als we helemaal niets hoeven terug te geven?

Void als functieretourtype

Er zijn vaak functies waarbij het lijkt alsof er niets hoeft te worden geretourneerd, zoals:

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(); }

In dit geval kunnen we het gegevenstype void gebruiken. Het gegevenstype void in programmeren geeft de afwezigheid van een waarde of type aan. Het kan op verschillende manieren worden gebruikt, maar bij functies wordt het meestal gebruikt om aan te geven dat een functie geen waarde retourneert.

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!"); }

Opmerking

We hebben het sleutelwoord return gebruikt, maar geen waarde doorgegeven. Het sleutelwoord return kan ook worden weggelaten in void-functies. Probeer het te verwijderen in het voorbeeld.

Void als Pointer

Void-pointers (void*) zijn pointers zonder een specifiek geassocieerd gegevenstype. Ze kunnen naar elk type object verwijzen, maar moeten naar het juiste type worden gecast voordat ze gebruikt kunnen worden. Ze zijn zeer nuttig, maar soms lastig te begrijpen.

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 }

In dit voorbeeld is ptr een void-pointer die verwijst naar een integer (num). Vervolgens casten we ptr naar een int* pointer om de waarde van num te benaderen en af te drukken.

question mark

Wat betekent het gebruik van void als functieresultaat type in C++?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 4. Hoofdstuk 3

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

Sectie 4. Hoofdstuk 3
some-alt