Использование С++ с MFC. Исходя из фона С#, я обычно просто использую строку для всех, ну, строк. Я использую их для членов класса, параметров метода и возвращаемых значений метода.
Теперь в С++ у меня есть std::string, CString, char *, LPCTSTR и т.д. Когда я создаю свои данные, параметры метода и возвращаемые значения метода, которые я должен использовать? Простота использования важна, и CString, похоже, предлагает это, но мой инстинкт связан с портативными стандартами, хотя переносимость довольно незначительна в моем списке приоритетов (сейчас). Кроме того, мне не нравится семантика c создания буферов строк и передачи их в методы и функции.
Я думаю, что с непосредственной простоты кодирования перспективы CStrings, вероятно, имеют преимущество. Но, в целом, каков способ "высокого качества кода"?
EDIT:
Меня особенно беспокоят точки интерфейса в моем коде (т.е. параметры метода и возвращаемые значения). Например:.
Shape::SetCaption(const char *caption) {...}
Shape::SetCaption(CString caption) {...}
Shape::SetCaption(std::string caption) {...}
Shape::SetCaption(std::wstring caption) {...}