【发布时间】:2013-11-25 18:43:59
【问题描述】:
我创建了自定义函数来将 wstring 转换为小写。但是,在 DebugMode 中速度很慢。是的,我知道 ReleaseMode 是最重要的,但无论如何它都非常令人不安。
wstring wstringToLower(wstring u)
{
wstring s;
for (int i=0;i<u.size();i++)
{
wstring sChar;
sChar=u.substr(i,1);
int iChar=static_cast<int>(sChar[0]);
int iNewChar=charCodeToLower(iChar);
wstring sNewChar=wstring(1,iNewChar);
s.append(sNewChar);
}
return s;
}
是否有人认为我可以改进以加快代码速度,即使在 DebugMode 中也是如此?
谢谢!
【问题讨论】:
-
stackoverflow.com/questions/313970/stl-string-to-lower-case - 恐怕你的函数比它的功能复杂了大约 50 倍。
-
每个字符使用
tolower怎么样? -
@0x499602D2 我需要处理 Unicode 字符。标准函数只处理 ASCII。
标签: c++ performance optimization