A Brief Look at C++0x



  • Das Online-Magazin "The C++ Source" hat jetzt einen Artikel von Bjarne Stroustrup über den nächsten C++-Standard veröffentlicht. Es ist nur ein kurzer Abriss über neue Features und das was das ISO-Kommittee überhaupt für Ziele hat.

    http://www.artima.com/cppsource/cpp0x.html

    Das beste Feature ist natürlich "auto"! 👍 Die Active Objects hat Bjarne nur indirekt angesprochen, was deutlich macht, das der Artikel nicht alle C++0x Features behandelt. Aber trotzdem sehr interessant.



  • Artchi schrieb:

    Das beste Feature ist natürlich "auto"!

    Nach welcher Metrik? Normalerweise würde ich ja nicht fragen und einfach denken, dass es sich hier um deine persönliche Meinung handelt, aber das Attribut "natürlich" wirkt so bombastisch.



  • Auf "auto" warte ich sehnsüchtig... Müsste eigentlich absolut simpel zu implementieren sein. Schließlich weiß der Compiler ja an dieser Stelle soundso schon, von welchem Typ die rvalue ist.



  • auto nimmt euch Arbeit ab, macht aber dafür den Code unleserlicher.



  • ich finde schade, dass für "template typedefs" nicht der typedef-syntax übernommen wurde. Muss man wieder einen neuen Syntax lernen. Hätte

    template <T>
    typedef vector<T, my_allocator<T>> Vec<T>;
    

    nicht gereicht? Der neue Syntax ist auch nicht viel besser (auch nicht viel schlechter), aber hätte man typedef übernommen müsste man nichts wirklich Neues einführen.
    geloescht

    EDIT: template <T> hinzugefügt



  • 👎 schrieb:

    auto nimmt euch Arbeit ab, macht aber dafür den Code unleserlicher.

    Finde ich nicht. Diese lustigen Konstruktionen mit map<..., pair<..., ...> >::const_iterator fördern auch nicht gerade die Lesbarkeit.



  • Hm wie soll denn zwischen templateclass<templateclass<type>> und operator >> unterschieden werden?

    Gruß



  • Die Idee der Concepts finde ich gut. Ich frage mich zwar noch, wie man ein Concept selbst definieren soll, aber grundsätzlich habe ich mir sowas schon lange gewünscht. Auch das where sieht garnicht nicht so schlecht aus. So sieht ein Template auch nur so generisch aus, wie es tatsächlich ist.


  • Mod

    FireFlow schrieb:

    Hm wie soll denn zwischen templateclass<templateclass<type>> und operator >> unterschieden werden?

    Gruß

    auf dieselbe weise, wie bereits jetzt zwischen operator< bzw. operator> und den klammern für eine template parameter list unterschieden wird: einfach dadurch, wo sie auftauchen. im übrigen ist der artikel ja nur bedingt verlässlich - nichts ist definitiv. einige wichtige erweiterungen werden auch nicht erwähnt, wie z.b. rvalue-referenzen.



  • camper schrieb:

    FireFlow schrieb:

    Hm wie soll denn zwischen templateclass<templateclass<type>> und operator >> unterschieden werden?

    Gruß

    auf dieselbe weise, wie bereits jetzt zwischen operator< bzw. operator> und den klammern für eine template parameter list unterschieden wird: einfach dadurch, wo sie auftauchen. im übrigen ist der artikel ja nur bedingt verlässlich - nichts ist definitiv. einige wichtige erweiterungen werden auch nicht erwähnt, wie z.b. rvalue-referenzen.

    Öh, ich dachte immer da wird gar nicht unterschieden. >> heißt immer op>>, deswegen mach ich bei Templates immer:

    vector<vector<int>Leerzeichen>
    

    😕

    MfG SideWinder



  • Dann hast du dir auf der Seite nicht angeschaut. 😉



  • SideWinder! Genau das Thema spricht Bjarne in seinem Bericht an. Haste den nicht gelesen?

    Falls nicht: es wird kein Leerzeichen mehr im C++0x benötigt... die Compiler müssen das dann halt unterscheiden können.



  • camper sprach aber von "wie bereits jetzt", damit verbinde ich den jetzigen C++-Standard.

    MfG SideWinder



  • SideWinder schrieb:

    camper sprach aber von "wie bereits jetzt", damit verbinde ich den jetzigen C++-Standard.

    Das bezog sich aber auf die Unterscheidung zwischen > als Templateklammer und > als Operator.



  • -- Hab die Frage ergoogelt --

    MfG SideWinder


Anmelden zum Antworten