Я использую библиотеку Boost для реализации своего приложения.Все строковые символы в модели данных моего приложения являются широкими символами (тип wchar_t).Но в библиотеке надстройки некоторые классы используют только узкий тип char (тип char), то есть "address boost::asio::ip::address::from_string(const char* str)
".Поэтому мне нужно сделать преобразование между std :: string и std :: wstring при вызове функций наддува.
- Есть ли проблема с производительностью из-за преобразования строк?
- конвертер в Boost, который делает преобразование между std :: wstring и std :: string с хорошей производительностью?
ОБНОВЛЕНИЕ
Относительно функции преобразователя.Я нахожу код ниже работает.
std::wstring wstr(L"Hello World");
const std::string nstr( wstr.begin(), wstr.end());
const std::wstring wstr2(nstr.begin(), nstr.end());