gpt4 book ai didi

c++ - STL 中基于容器的重载

转载 作者:行者123 更新时间:2023-11-28 03:02:19 26 4
gpt4 key购买 nike

<分区>

我经常发现自己使用依赖于开始迭代器和结束迭代器的标准算法。为什么标准不包括将容器作为参数(而不是迭代器)的重载。是否有技术原因不在标准中包含此类内容?

template <typename ContainerT, typename ValueT>
typename ContainerT::iterator find(ContainerT& container, const ValueT& value)
{
return std::find(begin(container), end(container), value);
}

这在搜索整个 vector 时非常方便。我意识到如果您不想遍历整个容器,仍然需要显式迭代器版本。

std::vector<std::string> v;
v.push_back("foo");
v.push_back("bar");

std::find(v.begin(), v.end(), "bar");

find(v, "bar"); // much nicer! :)

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