MFC: std::string vs CString?

Verwendung von C++ mit MFC. Aus einem C# - hintergrund habe ich in der Regel nur die Verwendung von string-für alle, gut, Streicher. Ich benutze Sie für Klasse, Methode, Parameter und Methoden, die Werte zurückgeben.

Nun in C++ habe ich std::string, CString, char *, LPCTSTR, und mehr. Als ich das design für meine Daten den Mitgliedern, die Parameter der Methode und Methode, die Werte zurückgeben, welche Art(en) sollte ich verwenden? Benutzerfreundlichkeit ist wichtig und CString scheint zu bieten, aber mein Instinkt geht in Richtung tragbare standards obwohl die Portabilität ist ziemlich niedrig auf meiner Liste der Prioritäten (jetzt). Auch, ich weiß nicht, wie die c-Semantik von erstellen von string-Puffer und übergeben Sie in die Methoden und Funktionen.

Denke ich, dass von einer unmittelbaren einfache Codierung Perspektive CStrings wahrscheinlich einen Vorteil haben. Aber insgesamt, was die "hohen code-Qualität" Weg, dies zu tun?

EDIT:

Ich bin vor allem besorgt über die interface-Punkte in meinem code (D. H. Methode, Parameter und Rückgabewerte). E. g.:

Shape::SetCaption(const char *caption) {...}

Shape::SetCaption(CString caption) {...}

Shape::SetCaption(std::string caption) {...}

Shape::SetCaption(std::wstring caption) {...}

InformationsquelleAutor der Frage User | 2011-05-24

Schreibe einen Kommentar