📜  C++库中的boost :: algorithm :: any_of_equal()(1)

📅  最后修改于: 2023-12-03 14:59:51.961000             🧑  作者: Mango

boost::algorithm::any_of_equal()

bost::algorithm::any_of_equal() 是C++库 Boost 中的一个函数,被用于搜索一个范围内的元素是否出现于某个列表(序列)内。它的主要作用是判断一个元素是否属于列表中的任何一个元素。此函数用于对任何类型的集合(比如数组/ vector/ list)执行一段特定的操作。

语法
template<typename Range, typename ValueT>
bool any_of_equal(const Range &r, const ValueT &val);

其中,

  • r: 你要寻找的范围(比如数组,vector, list等)。
  • val: 你要查找的值。
返回值

函数返回值是一个 boolean 值,函数将返回 true 若在 r 内的元素存在若相等于 val,否则返回 false

示例
#include <boost/algorithm/cxx11/any_of_equal.hpp>
#include <iostream>
#include <vector>

int main()
{
    std::vector<int> vector1 = { 1, 2, 3, 4, 5 };

    if (boost::algorithm::any_of_equal(vector1, 3))
    {
        std::cout << "3 exists in vector1." << std::endl;
    }
    
    if (boost::algorithm::any_of_equal(vector1, 10))
    {
        std::cout << "10 exists in vector1." << std::endl;
    }

    return 0;
}

本代码将会输出:

3 exists in vector1.

In the first if statement,函数会返回 true,因为 3 存在于 vector1 中。在第二个 if语句中,函数将返回 false,因为 10 并不存在于 vector1 中。

总结

函数 boost::algorithm::any_of_equal() 是 Boost 库中十分有用的函数之一。它可以判断一个范围内的元素是否出现于某个列表(序列)内。它的使用方法非常简单,只需要给它传递列表和元素,它便可以告诉你它们之间的关系:是否相等,存在等等。