CLASS, 0x, File, Pointer



  • Danke für die bisherigen Antworten. 🙂

    Aber nochmal zu Punkt 1) Ich habe nun nachgeschaut und oben steht folgendes zur CLASS:

    #define CLASS
    

    Das ist aber auch alles. Nach CLASS steht nichts, wie ihr sehen könnt. Was hat das zu bedeuten?



  • tempomat123 schrieb:

    #define CLASS
    

    Das ist aber auch alles. Nach CLASS steht nichts, wie ihr sehen könnt. Was hat das zu bedeuten?

    dass das CLASS durch nichts ersetzt wird.

    void CLASS verschieben()
    

    wird also zu

    void verschieben()
    

    ich denke der sinn ist der, dass man z.d. den define zu

    #define CLASS __stdcall
    

    ändern kann und dann automatisch alle so deklarierten funktionen die __stdcall aufrufkonvention verwenden...



  • tempomat123 schrieb:

    Danke für die bisherigen Antworten. 🙂

    Aber nochmal zu Punkt 1) Ich habe nun nachgeschaut und oben steht folgendes zur CLASS:

    #define CLASS
    

    Das ist aber auch alles. Nach CLASS steht nichts, wie ihr sehen könnt. Was hat das zu bedeuten?

    Da steht bei der Version die du hast nichts, aber es kann gut sein, dass es Versionen gibt bei denen da etwas steht. Oder aber es stammt noch aus alten Versionen und wird heute nicht mehr gebraucht.



  • Danke. 🙂



  • dot schrieb:

    tempomat123 schrieb:

    (4)
    Wie kann ich folgende Pointer in Java umschreiben?
    *variable
    **variable

    dass es in java pointer gibt, wär mir neu...

    Java nutzt Pointer, wenn gleich es das vor dem Anwender verbirgt. Das beginnt schon mit der Java-Referenz: Die Referenz in Java wird zwar syntaktisch etwa wie eine Referenz in C++ verwendet, aber ist funktionell eher mit einem Pointer verwand (z.B. Zuweisung von null).

    Auf die Frage des Originalposters zurückzukommen: Ich habe mich lange Zeit nicht mehr mit Java befasst, aber wie schon angedeutet kann man die Sachen nicht 1:1 beschreiben.

    cu André



  • asc schrieb:

    Java nutzt Pointer, wenn gleich es das vor dem Anwender verbirgt.

    dass eine Java implementierung intern pointer benutzt ist sicher richtig. das bedeutet aber nicht, dass man in Java pointer verwenden kann!?

    außerdem zeigt der code des op eigentlich zwei verschiedene dereferenzierungen. auf die frage wie man das in java umschreibt kann man eigentlich nur zwei dinge antworten:

    1. in java gibts keine pointer (zumindest ist mir nichts dergleichen bekannt)
    2. aufgrund von 1) wird man in java kaum pointer dereferenzieren können

    ohne den sinn des codes zu kennen, kann man wohl kaum eine semantisch äquivalente implementierung in java angeben...



  • @dot:

    dass eine Java implementierung intern pointer benutzt ist sicher richtig. das bedeutet aber nicht, dass man in Java pointer verwenden kann!?

    Scheint mir, dass Du nicht verstanden hast was asc geschrieben hat.

    Die Referenz in Java wird zwar syntaktisch etwa wie eine Referenz in C++ verwendet, aber ist funktionell eher mit einem Pointer verwand (z.B. Zuweisung von null).

    Es muss nicht immer ein * haben damit etwas als Pointer qualifiziert...

    Simon



  • simon.gysi schrieb:

    Scheint mir, dass Du nicht verstanden hast was asc geschrieben hat.

    dann zeig mir bitte wie du in java eine variable vom typ eines pointers auf einen anderen typ deklarierst!?



  • Vielleicht kannst Du erstmal zeigen, wie man in C++ einen Pointer auf einen Typen deklariert? Ich dachte immer, man könne nur auf Variablen/Objekte zeigen und nicht auf Typen.



  • Jester schrieb:

    Vielleicht kannst Du erstmal zeigen, wie man in C++ einen Pointer auf einen Typen deklariert? Ich dachte immer, man könne nur auf Variablen/Objekte zeigen und nicht auf Typen.

    int *p;
    

    Das war einfach. p hat den Typ "Pointer auf int", nicht "Pointer auf eine noch zu bestimmende int-Variable oder ein anderes int-Objekt, z.B. ein Element eines Arrays, könnte aber auch ein Nullpointer sein". 😉



  • Jester schrieb:

    Vielleicht kannst Du erstmal zeigen, wie man in C++ einen Pointer auf einen Typen deklariert?

    TMetaClass* mc;
    

    *scnr*



  • dot schrieb:

    dann zeig mir bitte wie du in java eine variable vom typ eines pointers auf einen anderen typ deklarierst!?

    Ich bin mir über die Javasyntax leider nicht mehr sicher, aber im wesentlichen ist im folgenden:

    public class xyz...
    xyz var = new xyz();
    

    var ein Zeiger der aber nach außen wie eine Reverenz verwendet wird auf ein Objekt der Klasse xyz. Daher müsste (wenn ich mich nicht irre) in Java auch folgendes gehen:

    var = null;
    

    Man könnte zwar auch mit Reverenzen etwas ähnliches machen (Vererbung und "Null"-Klasse) aber im wesentlichen sind es hierbei Zeiger. Ja, sie haben nur Referenzsemantik, aber nichts desto trotz entsprechen sie eher den C++ Zeigern als den C++ Referenzen.

    cu André


Anmelden zum Antworten