Frage zum ->



  • Hi welche Variante ist besser um auf einen Funktion in einer Klasse zu zugreifen.

    Beispiel 1 oder Beispiel 2 ?

    Oder sind beide gleich (z.b. im Bezug auf Geschwindigkeit und Speicherplatz )

    class my_pointer_class
    {
            public:
                    void my_function();
    
    };
    extern my_pointer_class* ptr;
    
    class my_class
    {
            public:
                    void my_function();
    
    };
    extern my_class my;
    
    int main(){
    {
    ptr -> my_function();  // Beispiel 1
    my.my_function();      // Beispiel 2
    
    }
    


  • Erstens würde ich die Abstände weglassen beim ->, zweitesn ist Zugriff über -> langsamer, da eine Indirektion erforderlich ist. -> ist auch nur eine Abkürzung für (*p).stuff



  • ich persönlich finde bsp2 immer besser

    und zwar aus den gründen, weil man dann nicht mit zeigern umzugehen braucht

    ne, jetzt mal ehrlich:
    aus deienr frage schließe ich, dass du nicht den unterschied kennst
    das eine ist ein zugriff per zeiger und das andere per objekt

    was mehr sinn machen würde was hier schöner wäre:

    ptr -> soSomething();
    (*ptr) . soSomething();
    

    und auch da ist ganz klar das zweite besser



  • Ok, sorry.

    @me: lesen -> denken -> nochmal lesen -> vllt. posten 😉



  • [Hat sich erledigt.]


Anmelden zum Antworten