static_cast<void*>(pText) ????
-
Wofür steht hier das:
static_cast<void*>(pText)irgenwie versteh ich das nicht richtig ...
#include <iostream> using namespace std; // char-Zeiger mit Adresse des Strings "ABCD" initialisieren char *pText = "ABCD"; int main() { // Alle Ausgaben in Hex mit Zahlenbasis cout.setf(ios::showbase); cout << hex; // Den String ausgeben, auf den der Zeiger zeigt cout << "Textausgabe ueber Zeiger: " << pText << endl; // Nun den Inhalt des Zeigers (Adresse) ausgeben cout << "Inhalt des Zeigers: " << static_cast<void*>(pText) << endl; // Den Hex-Wert der entsprechenden Speicherstelle ausgeben cout << "Datenausgabe ueber Zeiger: " << static_cast<int>(*pText) << endl;
-
Das ist ein sogenannter Cast - du erklärst dem Compiler, daß er den char-Zeiger 'pText' als Zeiger auf void interpretieren soll. (in dem Beispiel ist es notwendig, um die Überladung des Ausgabe-Operators für char* auszutricksen)
-
ok thx