Jef*_*rey 5 string boost converter
我使用Boost库来实现我的应用程序.我的应用程序的数据模型中的所有字符串字符都是宽字符(wchar_t类型).但是在boost库中,有些类只处理窄char(char类型),即" address boost::asio::ip::address::from_string(const char* str)".所以我需要在调用boost函数时在std :: string和std :: wstring之间进行转换.
UPDATE
关于转换器功能.我发现下面的代码有效.
std::wstring wstr(L"Hello World");
const std::string nstr( wstr.begin(), wstr.end());
const std::wstring wstr2(nstr.begin(), nstr.end());
Run Code Online (Sandbox Code Playgroud)
自己补充一下研究结论。
关于字符串转换的性能开销。我调试了上面的功能。该转换是通过 C-cast char by char 实现的。时间复杂度为O(L),L为字符串的长度。在我的应用程序中,需要转换的字符串不是很长。因此,我认为转换不会造成任何明显的性能延迟。