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