gpt4 book ai didi

c++ - C++ 中用于查找单词是否为前缀的函数

转载 作者:太空狗 更新时间:2023-10-29 23:22:13 28 4
gpt4 key购买 nike

假设我有一些单词 AB、AAB、AA。

AB 不是 AAB 的前缀,但 AA 是 AAB 的前缀,因为如果我只是在 AA 的末尾添加 B,它将变成 AAB,这对于 AB 是不可能的。

那么,在 C++ (STL) 中是否有任何函数可以让我确定两个词是否是另一个词的前缀?

谢谢。

最佳答案

template<class C, class T, class A>
bool starts_with(std::basic_string<C,T,A> const& haystack,
std::basic_string<C,T,A> const& needle)
{
return needle.length() <= haystack.length() &&
std::equal(needle.begin(), needle.end(), haystack.begin());
}

注意长度检查不是过早优化,需要满足std::equal的前置条件。

关于c++ - C++ 中用于查找单词是否为前缀的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2482716/

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