我进行升压和C一些研究++,但无法找到相关的我的问题什么。 是否有实现的Boost库或STL功能lastIndexOf ?
Answer 1:
std::string
具有成员函数rfind()
其从端部检索,如果找到或返回的索引std::string::npos
如果不是。 从链接参考页:
找到最后一个子等于给定的字符序列。
Answer 2:
看起来你可能想std::string::find_last_of
。
找到最后一个字符等于在给定的字符序列的人物之一。 如果没有这样的字符被找到,返回找到的字符或非营利组织的位置。
编辑:
另见hmjd的答案。 有差异find_last_of
和rfind
取决于你是否正在寻找一个字符,许多可能的字符中的一个,或一个字符串。
Answer 3:
当然,你可以使用std::find
与reverse_iterator
秒。 例如,你有INTS的载体,你想找到的最后5在里面。 你做
auto it = std::find(v.rbegin(), v.rend(), 5);
如果你想在指数本身,那么你可以从迭代器
int index = std::distance(v.begin(), (it+1).base());
文章来源: Java-like lastIndexOf in c++