C++ 元组::关系运算符 (tuple)



在 C++ 中,元组的关系运算符允许根据其元素值比较元组。关系运算符,例如 ==、!=、<、<=、> 和 >=,允许比较元组,从而方便排序和逻辑运算,方便基于字典序的比较。

两个元组的比较从每个元组的第一个元素开始。如果它们相等,则比较继续进行到下一个元素,直到找到差异或元组结束。如果所有元素都相等,则认为元组相等。如果元组大小不同,则比较执行到较小元组的大小。

语法

以下是 std::tuple::关系运算符的语法。

bool operator== ( const tuple<TTypes...>& lhs, const tuple<UTypes...>& rhs);
or
bool operator!= ( const tuple<TTypes...>& lhs, const tuple<UTypes...>& rhs);
or
bool operator< ( const tuple<TTypes...>& lhs, const tuple<UTypes...>& rhs);
or
bool operator> ( const tuple<TTypes...>& lhs, const tuple<UTypes...>& rhs);
or
bool operator>= ( const tuple<TTypes...>& lhs, const tuple<UTypes...>& rhs);
or
bool operator<= ( const tuple<TTypes...>& lhs, const tuple<UTypes...>& rhs);

参数

  • lhs, rhs − 表示要比较的元组。

返回值

如果条件成立,则返回 true,否则返回 false。

示例

让我们来看下面的例子,我们将检查元组是否相等。

#include <tuple>
#include <iostream>
int main()
{
    std::tuple<int, char> x = std::make_tuple(1, 'A');
    std::tuple<int, char> y = std::make_tuple(1, 'A');
    if (x == y)
        std::cout << "They Are Equal." << std::endl;
    else
        std::cout << "They Are Not Equal." << std::endl;
    return 0;
}

输出

让我们编译并运行上面的程序,这将产生以下结果:

They Are Equal.

示例

考虑下面的例子,我们将检查 tuple1 是否小于 tuple2。

#include <tuple>
#include <iostream>
int main()
{
    std::tuple<int, char> x = std::make_tuple(12, 'A');
    std::tuple<int, char> y = std::make_tuple(2, 'A');
    if (x < y)
        std::cout << "x is less than y" << std::endl;
    else
        std::cout << "x is not less than y" << std::endl;
    return 0;
}

输出

上面代码的输出如下:

x is not less than y

示例

在下面的例子中,我们将检查 tuple1 是否大于或等于 tuple2。

#include <tuple>
#include <iostream>
int main()
{
    std::tuple<int, char> x = std::make_tuple(20, 'A');
    std::tuple<int, char> y = std::make_tuple(2, 'B');
    if (x >= y)
        std::cout << "x is greater than or equal to y" << std::endl;
    else
        std::cout << "x is not greater than or equal to y" << std::endl;
    return 0;
}

输出

上面代码的输出如下:

x is greater than or equal to y

示例

下面的例子将使用 '!=' 运算符并观察输出。

#include <tuple>
#include <iostream>
int main() {
    std::tuple<int, char> x = std::make_tuple(1, 'A');
    std::tuple<int, char> y = std::make_tuple(2, 'B');
    if (x != y)
        std::cout << "True" << std::endl;
    else
        std::cout << "False" << std::endl;
    return 0;
}

输出

上面代码的输出如下:

True
广告
© . All rights reserved.