有没有办法不使用regex库就知道字符串是否以“再见”结尾?
也许用strcpy,strlen,ecc。

最佳答案

str.length() >= 7 && str.substr(str.length() - 7) == "goodbye"

或者可以使用boost::ends_with,这可能更有效,因为它不像string::substr那样分配新字符串。
我可以让标准库版本更高效一些,比如:
str.length() >= 7 && std::equal(str.end() - 7, str.end(), "goodbye");

实际上,现在我把它打印出来了,我意识到它并不像我想象的那么麻烦,所以这可能比第一个版本更好。

07-28 03:14
查看更多