Vorschlag: C++0x-Tag



  • Es gibt ja den Code-Tag für C++/CLI und C/C++.
    Da im C++-Forum jetzt vermehrt auch 0x-Code gepostet wird, wäre evtl. ein extra C++0x-Tag angebracht. Zum Einen sieht man dann gleich, dass der Ersteller kein C++03 schreibt und man sich auf älteren Compilern das compilieren sparen kann. Zum Anderen funktionieren einige highlights/keywords von 0x im C/C++ tag nicht richtig:

    alignas continue friend register true
    alignof decltype goto reinterpret_cast try
    asm default if return typedef
    auto delete inline short typeid
    bool do int signed typename
    break double long sizeof union
    case dynamic_cast mutable static unsigned
    catch else namespace static_assert using
    char enum new static_cast virtual
    char16_t explicit noexcept struct void
    char32_t export nullptr switch volatile
    class extern operator template wchar_t
    const false private this while constexpr float protected thread_local
    const_cast for public throw
    


  • Lieber den C++-Tag so machen, daß er C++0x kann.



  • volkard schrieb:

    Lieber den C++-Tag so machen, daß er C++0x kann.

    Und einen separaten C-Tag. Leider ist [c] schon vergeben :(.



  • [c99]restrict _Complex _Bool[/c99]

    Oder gleich c1x 😉



  • volkard schrieb:

    Lieber den C++-Tag so machen, daß er C++0x kann.

    +1

    rüdiger schrieb:

    Und einen separaten C-Tag.

    +1



  • Wenn ich den C++-Tag 0x-fähig mache und jemand nennt eine Variable dann "noexcept", dann meckert bestimmt wieder jemand wegen der falschen Einfärbung, weil "altes" C++ das ja noch darf...



  • Marc++us schrieb:

    Wenn ich den C++-Tag 0x-fähig mache und jemand nennt eine Variable dann "noexcept", dann meckert bestimmt wieder jemand wegen der falschen Einfärbung, weil "altes" C++ das ja noch darf...

    nullptr hat ja auch schon Highlight und in C++03 geht das.



  • Marc++us schrieb:

    Wenn ich den C++-Tag 0x-fähig mache und jemand nennt eine Variable dann "noexcept", dann meckert bestimmt wieder jemand wegen der falschen Einfärbung, weil "altes" C++ das ja noch darf...

    Soll er ruhig mal machen. Dann kriegt er erklärt, daß wir so furchbar fortschrittlich sind, daß wir schon von C++0x ausgehen. Außerdem ist unser Blaumachen ein supi Hinweis, daß er die Variable schleunigst umnennen soll, damit er seinen Compiler später mal updaten darf.



  • PS: ich denke, ich habe die beiden Schlüsselwörter nur vergessen. 😉


  • Administrator

    Wenn wir gleich dabei sind, wie wäre es mit einem Update der C# Keywords? Es fehlen vor allem viele Kontextsensitive Schlüsselwörter (2. Absatz), welche mit späteren Versionen dazukamen.

    abstract as base bool break byte case catch char checked class
    const continue decimal default delegate do double else enum
    event explicit extern false finally fixed float for foreach goto
    if implicit in int interface internal is lock long namespace new
    null object operator out override params private protected public
    readonly ref return sbyte sealed short sizeof stackalloc static
    string struct switch this throw true try typeof uint ulong unchecked
    unsafe ushort using virtual void volatile while
    
    add alias ascending descending dynamic from get global group into
    join let orderby partial remove select set value var where yield
    

    Vor allem das Fehlen von var , get und set ist recht störend, weil die Schlüsselwörter sehr oft auftauchen. dynamic könne in Zukunft auch etwas öfters anzutreffen sein. Der Rest ist von LINQ. Ich persönlich sehe da mehr die Extension-Methods Version und weniger die Schlüsselwörter. Aber wäre natürlich auch nicht schlecht, wenn die dazukommen.

    Grüssli



  • rüdiger schrieb:

    Und einen separaten C-Tag. Leider ist [c] schon vergeben :(.

    Gefällt mir sogar noch besser 🙂



  • Um mich an Draveres Vorschlag dranzuhängen.. die Compilerdirektiven #if usw. werden beim cs-Tag auch nicht so 100% korrekt umgesetzt: http://www.c-plusplus.net/forum/p2061148#2061148


Log in to reply