kostenloser Webspace werbefrei: lima-city


D (2) - Invariant String

lima-cityForumProgrammiersprachenC/C++ und D

  1. Autor dieses Themas

    s******i

    Hallo,
    ich habe mir mal die neue Version von D angeschaut, und musste erstaunt feststellten, dass string als alias jetzt nicht mehr char[] sondern 'const(char)[] ist. Außerdem ist jetzt eine Wertinitialisierung wie diese nicht mehr möglich
    char[] text = "Der Text";


    Man müsste den String "" erst duplicaten:
    char[] text = "Der Text".dup;


    Allerdings verstehe ich den Sinn dahinter nicht, da man einen String ja wohl eher verändern möchte, als ihn konstant zu lassen. So wie es in der ersten Version war, war es doch super?! Warum ist das denn jetzt so geändert worden?

    Also ich persönlich kann nur hoffen, dass dieses Konzept (was ich ehrlich gesagt nicht verstehe) verworfen wird.
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Viele Programmiersprachen benutzen als default konstante Strings, weil man damit einige Optimierungen ermöglichen kann (weniger Platzverbrauch, schnellere Vergleiche, weniger Fehlerquellen). Du musst bedenken, dass Strings auch etwas länger sein können und gewisse Operationen dann teurer werden.

    Die generelle Annahme ist daher schon, dass veränderliche Strings in Anwendungsfällen eher die Ausnahme sind. Und da D2 nicht die einzige Sprache ist, die nach dieser Philosophie verfährt, wird sich das nicht so schnell ändern.

    Ich kann natürlich verstehen, dass ein Aufruf an string.dup() jetzt für dich nervig ist. Aber zumindest musst du nicht casten :wink:
  4. Autor dieses Themas

    s******i

    Hm. klingt einleuchtend. Da werde ich wohl einen Assing-Operator programmieren müssen (denn natürlich weiß der Programmierer besser was er braucht... ;-)
  5. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!