簡體   English   中英

Boost中的wstring字符串轉換器

[英]wstring string converter in Boost

我使用Boost庫來實現我的應用程序。 我的應用程序的數據模型中的所有字符串字符都是寬字符(wchar_t類型)。 但是在boost庫中,一些類只處理窄char(char類型),即“ address boost::asio::ip::address::from_string(const char* str) ”。 所以我需要在調用boost函數時在std :: string和std :: wstring之間進行轉換。

  1. 由於字符串轉換,是否存在性能問題?
  2. 那里的Boost轉換器,它使std :: wstring和std :: string之間的轉換具有良好的性能?

UPDATE

關於轉換器功能。 我發現下面的代碼有效。

std::wstring wstr(L"Hello World");
const std::string nstr( wstr.begin(),  wstr.end());
const std::wstring wstr2(nstr.begin(), nstr.end());

自己添加研究結論。

關於字符串轉換的性能開銷。 我調試了上面的函數。 轉換由C的C-cast char實現。 時間復雜度為O(L),L是字符串的長度。 在我的應用程序中,需要轉換的字符串不是很長。 所以我認為由於轉換而沒有明顯的性能延遲。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM