Moin alle mit einander ich habe eine sehr dringende Frage.
Ich bin noch ein ziemlicher Anfänger wenn es um C++ geht vor allem in Windows-Forms Anwendungen.
Und zwar ist mir aufgefallen dass es die unterschiedlichsten Deklarationsmöglichkeiten für Strings gibt, z.B.: string oder String oder String^.
Mit dem „kleinen“ string kann ich ja umgehen, aber mit dem „String^“ leider nicht.
Das Problem jetzt, eine Textbox gibt ja soviel ich weis String^ zurück quasi
String^ Text = Textbox->Text; funktioniert.
ABER String^ Text = „Text“; oder String^ Text („Text“);
funktioniert nicht .
Kann mir vielleicht jemand von euch beschreiben:
- Wofür das ^ nach dem String steht.
 
- Ob und wie man String^ in string konvertieren kann
 
- Ob und wie man eine leere String^ Variable anlegen kann.
 
Wäre echt nett bitte Danke!
             
            
              
              
              
            
            
           
          
            
            
              Howdy,
Und zwar ist mir aufgefallen dass es die unterschiedlichsten
Deklarationsmöglichkeiten für Strings gibt, z.B.: string oder
:String oder String^.
nein, die gibt es in plain C++ nicht, nur in den Erweiterungen, die Microschrott so auf den Markt wirft, siehe z.B. auch
http://en.wikipedia.org/wiki/Managed_Extensions_for_…
ABER String^ Text = „Text“; oder String^ Text („Text“);
funktioniert nicht .
dazu verwendet man gcnew, ala
String^ Text = gcnew String(„Text“);
- Wofür das ^ nach dem String steht.
 
managed pointer, das sind automatisch verwaltete Pointer. Diese werden automatisch freigegeben, wenn keine Referenz mehr auf sie existiert, weshalb es auch kein gcdelete gibt.
- Ob und wie man String^ in string konvertieren kann
 
Den Pointer kann man in der gewohnten Art mit * dereferenzieren.
- Ob und wie man eine leere String^ Variable anlegen kann.
 
siehe oben, oder falls du null meinen solltest, dann Text = nullptr;
Gruss
norsemanna
             
            
              
              
              
            
            
           
          
            
            
              Ahhhh…
Dann ist alles schon viel klarer.
Mein Problem war nämlich, ich wollte den Text in der TextBox in einer Klasse abspeichern und dann die gesamte Klasse in eine externe Datei schreiben.
Aber wenn das jetzt geklärt ist, steht dem ja nichts mehr im Weg,
herzlichsten Dank!