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
廣告