KINGx - Das inoffizielle PlayStation Forum & News Portal

Normale Version: C++ Void???
Sie sehen gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hey, ich bin gerade dabei c++ zu lernen, allerdings verstehe ich nicht für was void gut ist, und wofür man es braucht.

Hier ein Beispiel

Zitat:
#include

using namespace std;

//Deklariert vom Funktionsprototyp
void GiveMessageOut(int iFirst);

int main()
{
int i = 0;

cout << "Geben Sie bitte eine Zahl ein: ";
cin >> i;

GiveMessageOut(i);

return 0;
}

//Definition
void GiveMessageOut(int iFirst)
{
cout << endl << "Der Wert, der dieser Funktion übergeben wird beträgt " << iFirst << endl;
}



Ich versteh das nicht... Für was is das in diesem Code gut?

Es wird der Wert ausgegeben, den du davor in die Konsole eingegeben hast.
Das heißt diese Funktion (Void) ist so ne Art einspringspunkt??
Void heißt lehrer Dateityp... er ist für Zeiger wichtig, bei denen noch nciht klar ist, was sich an der Stelle im Arbeitsspeicher befindet. Ein Void-Zeiger wird beispielsweiße von Funktionen wie malloc zurückgegeben:

Code:
void *addr = malloc(4);


Hier werden 4bytes auf dem Heap angefordert. Der Malloc-Funktion ist allerdings nicht klar, wofür die 4 bytes benutzt werden. So könnte man z.B. 4 chars, 2 shorts oder einen Integer speichern... die Funktion weiß nicht was du dort speichern willst, deshalb gibt sie einen void Zeiger zurück, den du dann mit expleziter Datentypumwandlung in einen Zeiger eines anderen Typs umformen kannst.

Eine Void-Funktion ist ganz einfach eine Funktion, die keinen Wert zurückgibt, anders als eine Funktion von anderen Typen.

Die Syntax

Code:
void Funktion(void)

ist ganz einfach eine andere (meiner Meinung nach schönere) Schreibweiße für

Code:
void Funktion()

also einer Funktion ohne Argumente und ohne Rückgabewert.

Achja, dass mit den Zeigern wirst du wohl noch nicht verstehen können, also halte dich erstmal nicht damit auf, sondern les dein Buch weiter. Es ist normal, dass man nicht alles versteht, aber das lößt sich im Laufe der Zeit, ist mir genauso gegangen Smile

mfg, Andreas

Danke ;D
Referenz-URLs