use*_*679 0 c++ string iterator find
我有一个由两个迭代器(start和end)定义的子字符串.我需要检查这个子字符串是否存在于另一个字符串中.
是否有标准库算法或字符串成员我可以使用或适应这样做而不创建一个全新的字符串对象(std::string(start, end))只是为了这个目的?
例如
struct Substring
{
std::string::const_iterator start, end;
};
auto found = std::contains(whole.begin(), whole.end(), substring.start, substring.end); // ???
Run Code Online (Sandbox Code Playgroud)
jro*_*rok 10
bool found =
std::search(hay.begin(), hay.end(), needle.begin(), needle.end()) != hay.end();
Run Code Online (Sandbox Code Playgroud)