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


Anmelden zum Antworten