Untschied von string , String und AnsiString



  • Hallo es gibt ja verschiedene arten von strings.

    z.b.

    string ( aus #include <iostream> )

    String ( aus #include <vcl> )

    AnsiString ( aus #include <vcl> )



  • Hallo,

    string (besser std::string)
    das ist der String aus dem C++ Standard. Der ist aber in der aus #include <string> und nicht aus iostream.

    String ( aus #include <vcl> )
    AnsiString ( aus #include <vcl> )
    Das ist beides der gleiche Typ. Irgendwo in der dstring.h ([edit] das steht in der sysmac.h[edit]) steht

    typedef AnsiString String;
    

    Das ist der String aus der Borland (jetzt Codegear) VCL-Bibliothek.



  • AnsiString schrieb:

    Hallo es gibt ja verschiedene arten von strings.

    1. std::string stammt nicht aus #include <iostream> sondern aus #include <string>
    2. C++ ist eine schon recht alte Sprache, anfangs gab es keine Standardisierten Stringdatentypen, und dies ist ein Grund für die Vielfalt der Strings heutzutage.

    Im Standard ist der std::string die "normale" Stringimplementierung für Zeichen (basierend auf dem Datentyp char) und std::wstring wiederum basierend auf wchar_t. Die anderen von dir erwähnten Strings sind Implementierungen der VCL-Bibliothek die nur im C++ Builder und in Delphi verwendet werden.

    cu André



  • AnsiString schrieb:

    Hallo es gibt ja verschiedene arten von strings.

    z.b.

    string ( aus #include <iostream> )

    String ( aus #include <vcl> )

    AnsiString ( aus #include <vcl> )

    Ohhh, es gibt noch viel mehr, z.B. s2tring ( aus #include "Simon2.h" ) 😉

    Ich nehme defaultmäßig immer std::string und nur, wenn ich externe Schnittstellen mit proprietären Stringtypen bedienen muss, mache ich mir entsprechende Konvertierungsfunktionen ... und damit komme ich ziemlich weit.

    Gruß,

    Simon2.


Anmelden zum Antworten