boost und standard



  • (doppelpost)



  • Dein Beispiel verstehe ich nicht ganz.

    In Java säge es coh so aus:

    MyClass myObject = new MyClass(); 
    MyClass rToMyObject = myObject;
    
    rToMyObject.doSomething();
    

    und in C++ wäre es dann so

    MyRef<MyClass> myObject (new MyClass);
    MyRef<MyClass> rToMyObject (myObject);
    
    // jetzt gibts ein Problem
    // etweder
    rToMyObject->doSomething();
    // oder function bateln
    val(rToMyObject).doSomething();
    // oder
    static_cast<MyRef>(rToMyObject).doSomething();
    


  • SoylentGreen schrieb:

    Was ist denn Boost?
    Hört sich für mich nach Schubkraftverstärkung an.

    boost ist eine Sammlung von Librarys, die Dinge enthält, die dir das tägliche Programmieren mit C++ erleichtern 🙂

    http://www.boost.org/

    (für C++ Anfänger ist boost aber IMHO nicht so gut geeignet, da boost sehr viele komplexe Konzepte benutzt)

    @Optimizer

    Dazu reicht mein bescheidenes Wissen nicht aus. Außerdem bezweifel ich, dass das möglich ist, das so zu implementieren, dass ich schreiben kann:

    hmm, lass mich raten. Du willst kein C++ Programmieren und versucht einfach C++ als Java zu benutzen. So wird das nichts, da C++ viel mehr Features anbietet als Java (lassen wir mal die Standard Library weg).



  • Optimizer schrieb:

    aber darauf, dass sie Pointer durch Referenztypen wie in Java (die wie Pointer funktionieren aber wie Referenzen bedient werden) ersetzen, kann ich wahrscheinlich bis 2040 warten. 😃

    Imho kannst du da ewig warten, da das Komitee keine schlechten Konzepte kopieren wird.



  • @kingruedi: Nein, ich will C++ als C++ benutzen, aber mir gefallen die Pointer nicht. Und nicht immer kann ich auf sie verzichten.

    MaSTaH schrieb:

    Imho kannst du da ewig warten, da das Komitee keine schlechten Konzepte kopieren wird.

    Von solchen Aussagen halte ich gar nichts.
    Begründe mal bitte. Der Referenztyp von Java kann alles was ein Pointer kann, ist automatisch dereferenziert, und wesentlich sicherer. Und damit mein ich jetzt nicht, dass der Garbage Collector ein Objekt löscht, wenn man den Zeiger auf null setzt - das ist noch zusätzlich ein nettes Feature.

    Man schaue sich diesen Post hier an. Ich rechne auch immer mit Adressen rum 🙄



  • Dass man aus Versehen einen Zeiger inkrementiert, passiert aber IMHO auch nicht oft. Gefährlicher sind IMHO ungültige weil veraltete Zeiger, und die kann man ohne Overhead nicht vermeiden. Und wenn es dir nur um die Arithmetik gibt, kannst du die wirklich wegwrappen.



  • Optimizer: eben. er kann alles was ein pointer kann -> NullPointerException

    also wo ist er besser?
    OK, er kann nicht undefiniert sein - aber es sollte nicht wirklich schwer sein, alle pointer zu initialisieren, oder?

    Aber zusätzlich zu Zeigern hast du in C++ Referenzen, dies hast du in Java nicht!



  • Lasst doch mal diese schwachsinnige Diskussion sein, jedenfalls auf dieser Ebene.



  • Shade Of Mine schrieb:

    Optimizer: eben. er kann alles was ein pointer kann -> NullPointerException

    also wo ist er besser?

    Das ist doch so gewollt, dass der Referenztyp auf null zeigen kann. Das braucht man schließlich oft genug, ist ja auch einer der Gründe, warum ich manchmal Zeiger statt Referenzen verwenden muss.

    Shade Of Mine schrieb:

    Aber zusätzlich zu Zeigern hast du in C++ Referenzen, dies hast du in Java nicht!

    Wenn du deine Referenzvariable in Java final machst, dann ist es wie eine Referenz. Referenzen auf primitive Typen brauche ich persönlich selten.

    Aber ok, ich will ja gar nicht sagen, dass Java besser ist wie C++. Ich will nur sagen, dass die Referenztypen besser sind wie Pointer.



  • Aber ok, ich will ja gar nicht sagen, dass Java besser ist wie C++. Ich will nur sagen, dass die Referenztypen besser sind wie Pointer.

    ...und "als" ist besser als "wie".

    Etwas ist besser/größer/schöner/schneller (-> Komparativ)... als etwas Anderes.

    Etwas ist genauso groß/schön/schnell wie etwas Anderes.
    Der Wein ist zwar besser als im letzten Jahr, aber gerade mal so gut wie der vom vorletzten Jahr.

    Es tut mir leid, aber wenn ich heute noch mehr Vergleiche im Komparativ mit "wie" statt "als" sehe, bekomme ich ein Magengeschwür. Also nicht gleich ausrasten.


Anmelden zum Antworten