【发布时间】:2012-09-12 12:57:09
【问题描述】:
假设我们有一个字符串 var "sA",我想检查字符串 "123" 是否在 sA 的末尾。
什么更好,为什么:
if(sA.length() > 2) sA.substr(sA.length()-3) == "123"if(sA.length() > 2) sA.find("123", sA.length() -3) != string::npos
提前致谢
【问题讨论】:
-
为什么不测试呢?只需对这两种方法计时并进行比较。
-
绝对不是substr,如果你只想检查,你不需要做一个子字符串。
-
第二个版本似乎做的比较和字符串复制次数最少...
标签: c++ string performance