gpt4 book ai didi

c++ - boost::algorithm::string::finder.hpp

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:51:19 27 4
gpt4 key购买 nike

Already asked this question并收到了有关 C++ STL 的答案,但 boost 呢?

这是一个关于 boost Finders 的问题。如果您有指向可描述的 boost 库实现的链接,我将不胜感激,因为它可以更轻松地为实际应用寻找 boost 库。

我的问题是哪个 boost 查找器最适用于 lastIndexOf

最佳答案

首先,如果您要搜索子字符串的最后一次出现,最简单的选择是使用 std::string::rfind:

std::string str = "Hello, World!";
int index = str.rfind("o");

如果您需要使用 Boost 因为您希望它在通用范围内工作,请使用 boost::algorithm::find_last。它需要两个范围。在第一个范围内搜索第二个范围。

std::string str = "Hello, World!";
iterator_range<std::string::iterator> it = find_last(str, "o");
int index = std::distance(str.begin(), it.begin());

如果您真的想使用查找器,您似乎正在寻找 boost::algorithm::last_finder。查找器返回一个函数对象,该对象将两个迭代器作为其参数。该函数返回一个 iterator_range 您可以像这样使用它:

auto finder = last_finder("o");

std::string str = "Hello, World!";
iterator_range<std::string::iterator> it = finder(str.begin(), str.end());
int index = std::distance(str.begin(), it.begin());

关于c++ - boost::algorithm::string::finder.hpp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15643576/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com