【发布时间】:2011-11-09 19:27:54
【问题描述】:
字符串是固定长度 8,包含字母数字字符并用空格右填充。
即,
"STRING1 "
"STR2 "
"S "
等等。
我在想memcmp 可能是这里最快的?
【问题讨论】:
-
Profile profile profile... 如果字符串比较不是您的应用程序的瓶颈(即,如果您没有在一个紧密的循环中比较数千个字符串),请不要漫无目的地过度优化.
-
std::pair<const char*, const char*> p = std::mismatch(str1, str1 + 8, str2); if (p.first == str1 + 8) { ... }。对于 char*,c++ 库应该调用 memcmp. -
@Kerrek 的建议有科学依据:Amdahl's law。简而言之:如果需要优化,先找到最频繁的情况,然后再优化
标签: c string performance compare