Getting started - meine allererste Frage zum VC++ Express Edition



  • Dann versuch ich mich mal 😉

    Carschtn schrieb:

    Also, dass, was du irgendwo als Label1 findest, is nehme ich mal stark an ein Zeiger, dass ist sowas ähnliches wie ein Datentyp

    Sowas ähnliches? Zeiger sind Datentypen, und label1 dürfte, da C++/CLI, ein Tracking Handle sein. Das ist das referenzgezählte, müllgesammelte Äquivalent zu einem nackten Zeiger.

    (in C/C++ u.a. gibts nur 4Typen: int, char (=1Zeichen), double (für Kommazahlen) und void (kein echter datentyp, entspricht in VB der sog. Sub). Alle anderen Typen sind irgendwie aus den drei ersten Grundtypen abgeleiet).

    char, short, int, long, float, double, alle Modifikationen davon und Zeiger, sowie void sind alles Grundtypen.

    Die Zeiger (engl. Pointer) sind jetz nicht eine Variable/Objekt/... sondern sie sagen dem Rechner nur, wo er diese Variable/... im RAM findet, der Zeiger gibt also die Speicheradresse zurück (also nur der Ort, wo das eigtl. Objekt zu finden ist, nicht aber das Objekt selber). Dadurch ist es natürlich sehr viel schneller machbar, auf das eigtl. Objekt zurückzureifen, weil man weiß, wo es überhaupt im RAM rumliegt.

    Zum einen sind Zeiger auch Variablen, sie haben eine eigene Speicherstelle, und sie haben einen Inhalt. Der Inhalt ist halt selbst wieder eine Adresse, an der Daten anderen Typs liegen können. Zum anderen frage ich mich, wie man auf "nicht-Zeiger" Variablen überhaupt zugreifen soll, wenn "man" nicht weiß, wo sie im RAM rumliegen 😕

    1. man findet es schnell im Ram,

    Siehe oben. Genaugenommen kann der Zugriff auf Objekte (ggü. Zeigern-auf-Objekte) sogar schneller sein, weil keine Indirektion erforderlich ist.

    2. man muss nicht dauernd (wenn man irgendwann man in Verlegenheit kommen sollte, das Objekt "Label" an eine Funktion zu übergeben, z.B. damit es in dieser Funktion weiterverarbeitet werden kann) das komplette Objekt übergeben, was abhängig von Objektgröße ziemlich lange dauern kann - alles wertvolle Rechnerzeit - sondern man sagt dem Prozi nur, wo das Label rumliegt und schwups hat er Zugriff auf sämtliche Eigenschaften desselben.

    Man kann auch Zeiger und Referenzen auf Objekte bilden und diese übergeben.



  • [quote="LordJaxom"]
    ...
    Das ist das referenzgezählte, müllgesammelte Äquivalent zu einem nackten Zeiger.
    ...
    [quote]
    Na endlich mal einer, der es auf den Punkt bringt. 👍 🙂


Anmelden zum Antworten