До сих пор я использовал std :: string в моих приложениях C ++ для встроенных систем (маршрутизаторы, коммутаторы, телекоммуникационное оборудование и т. Д.).
Для следующего проекта я планирую перейти с std :: string на std :: wstring для поддержки Unicode. Это, например, позволит конечным пользователям использовать китайские символы в интерфейсе командной строки (CLI).
Каких осложнений / головных болей / неожиданностей мне следует ожидать? Что, например, если я использую стороннюю библиотеку, которая все еще использует std :: string?
Поскольку поддержка международных строк не так сильна, как требование к типу встроенных систем, над которыми я работаю, я бы сделал это только в том случае, если это не вызовет серьезных головных болей.