Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Void-gegevens Type | Overige Datatypen en Concepten
C++-Datatypen

bookVoid-gegevens Type

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 weten om de juiste hoeveelheid geheugen toe te wijzen en typeveiligheid af te dwingen. Ook moet het de types van functieresultaten en parameters kennen.

Note
Opmerking

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

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 er geen specifieke returntype vereist; dit kan int, double, float of bool zijn. Voor dit scenario maakt het exacte type niet uit. Wat als we zelfs helemaal niets hoeven terug te geven?

Void als returntype van een functie

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 een pointer

Void-pointers (void*) zijn pointers die geen specifiek gegevenstype hebben. Ze kunnen naar elk type object verwijzen, maar je moet ze casten naar het juiste type voordat je ze gebruikt. Ze zijn erg handig, maar soms moeilijk 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 retourtype van een functie in C++?

Selecteer het correcte antwoord

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