Boost中的wstring串转换器

Boost中的wstring串转换器,string,boost,converter,String,Boost,Converter,我使用Boost库来实现我的应用程序。我的应用程序的数据模型中的所有字符串都是宽字符(wchar\u t类型)。但是在boost库中,有些类只传递窄字符(字符类型),即“地址boost::asio::ip::address::from_string(const char*str)”。因此,在调用boost函数时,我需要在std::string和std::wstring之间进行转换 字符串转换是否会导致性能问题 在那里,Boost中的转换器使std::wstring和std::string之间的转

我使用Boost库来实现我的应用程序。我的应用程序的数据模型中的所有字符串都是宽字符(wchar\u t类型)。但是在boost库中,有些类只传递窄字符(字符类型),即“
地址boost::asio::ip::address::from_string(const char*str)
”。因此,在调用boost函数时,我需要在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());
    

    我自己加上研究结论


    关于字符串转换的性能开销。我调试了上面的函数。转换由C-cast逐字符实现。时间复杂度是O(L),L是字符串的长度。在我的应用程序中,需要转换的字符串不是很长。因此,我不认为有任何明显的性能延迟,由于转换

    希望您的宽字符串中没有任何非ascii字符。。。