Sdílet prostřednictvím


<array> – operátory

Hlavička <pole obsahuje tyto funkce šablony porovnání polí,> které nejsou členy.

operator!=
operator>
operator>=
operator<
operator<=
operator==

operator!=

Porovnání polí, nerovná se.

template <Ty, std::size_t N>
bool operator!=(
    const array<Ty, N>& left,
    const array<Ty, N>& right);

Parametry

Ty
Typ prvku

N
Velikost pole.

Vlevo
Levý kontejner, který chcete porovnat.

Vpravo
Správný kontejner, který chcete porovnat.

Poznámky

Funkce šablony vrátí !(left == right).

Příklad

// std__array__operator_ne.cpp
// compile with: /EHsc
#include <array>
#include <iostream>

typedef std::array<int, 4> Myarray;
int main()
    {
    Myarray c0 = {0, 1, 2, 3};

// display contents " 0 1 2 3"
    for (Myarray::const_iterator it = c0.begin();
        it != c0.end(); ++it)
        std::cout << " " << *it;
    std::cout << std::endl;

    Myarray c1 = {4, 5, 6, 7};

// display contents " 4 5 6 7"
    for (Myarray::const_iterator it = c1.begin();
        it != c1.end(); ++it)
        std::cout << " " << *it;
    std::cout << std::endl;

// display results of comparisons
    std::cout << std::boolalpha << " " << (c0 != c0);
    std::cout << std::endl;
    std::cout << std::boolalpha << " " << (c0 != c1);
    std::cout << std::endl;

    return (0);
    }
0 1 2 3
4 5 6 7
false
true

operator<

Porovnání polí, menší než.

template <Ty, std::size_t N>
bool operator<(
    const array<Ty, N>& left,
    const array<Ty, N>& right);

Parametry

Ty
Typ prvku

N
Velikost pole.

Vlevo
Levý kontejner, který chcete porovnat.

Vpravo
Správný kontejner, který chcete porovnat.

Poznámky

Funkce šablony přetíží operator< porovnání dvou objektů pole šablony třídy Třída. Funkce vrátí lexicographical_compare(left.begin(), left.end(), right.begin()).

Příklad

// std__array__operator_lt.cpp
// compile with: /EHsc
#include <array>
#include <iostream>

typedef std::array<int, 4> Myarray;
int main()
    {
    Myarray c0 = {0, 1, 2, 3};

// display contents " 0 1 2 3"
    for (Myarray::const_iterator it = c0.begin();
        it != c0.end(); ++it)
        std::cout << " " << *it;
    std::cout << std::endl;

    Myarray c1 = {4, 5, 6, 7};

// display contents " 4 5 6 7"
    for (Myarray::const_iterator it = c1.begin();
        it != c1.end(); ++it)
        std::cout << " " << *it;
    std::cout << std::endl;

// display results of comparisons
    std::cout << std::boolalpha << " " << (c0 < c0);
    std::cout << std::endl;
    std::cout << std::boolalpha << " " << (c0 < c1);
    std::cout << std::endl;

    return (0);
    }
0 1 2 3
4 5 6 7
false
true

operator<=

Porovnání polí, menší než nebo rovno

template <Ty, std::size_t N>
bool operator<=(
    const array<Ty, N>& left,
    const array<Ty, N>& right);

Parametry

Ty
Typ prvku

N
Velikost pole.

Vlevo
Levý kontejner, který chcete porovnat.

Vpravo
Správný kontejner, který chcete porovnat.

Poznámky

Funkce šablony vrátí !(right < left).

Příklad

// std__array__operator_le.cpp
// compile with: /EHsc
#include <array>
#include <iostream>

typedef std::array<int, 4> Myarray;
int main()
    {
    Myarray c0 = {0, 1, 2, 3};

// display contents " 0 1 2 3"
    for (Myarray::const_iterator it = c0.begin();
        it != c0.end(); ++it)
        std::cout << " " << *it;
    std::cout << std::endl;

    Myarray c1 = {4, 5, 6, 7};

// display contents " 4 5 6 7"
    for (Myarray::const_iterator it = c1.begin();
        it != c1.end(); ++it)
        std::cout << " " << *it;
    std::cout << std::endl;

// display results of comparisons
    std::cout << std::boolalpha << " " << (c0 <= c0);
    std::cout << std::endl;
    std::cout << std::boolalpha << " " << (c1 <= c0);
    std::cout << std::endl;

    return (0);
    }
0 1 2 3
4 5 6 7
true
false

operator==

Porovnání polí, rovná se.

template <Ty, std::size_t N>
bool operator==(
    const array<Ty, N>& left,
    const array<Ty, N>& right);

Parametry

Ty
Typ prvku

N
Velikost pole.

Vlevo
Levý kontejner, který chcete porovnat.

Vpravo
Správný kontejner, který chcete porovnat.

Poznámky

Funkce šablony přetíží operator== porovnání dvou objektů pole šablony třídy Třída. Funkce vrátí equal(left.begin(), left.end(), right.begin()).

Příklad

// std__array__operator_eq.cpp
// compile with: /EHsc
#include <array>
#include <iostream>

typedef std::array<int, 4> Myarray;
int main()
    {
    Myarray c0 = {0, 1, 2, 3};

// display contents " 0 1 2 3"
    for (Myarray::const_iterator it = c0.begin();
        it != c0.end(); ++it)
        std::cout << " " << *it;
    std::cout << std::endl;

    Myarray c1 = {4, 5, 6, 7};

// display contents " 4 5 6 7"
    for (Myarray::const_iterator it = c1.begin();
        it != c1.end(); ++it)
        std::cout << " " << *it;
    std::cout << std::endl;

// display results of comparisons
    std::cout << std::boolalpha << " " << (c0 == c0);
    std::cout << std::endl;
    std::cout << std::boolalpha << " " << (c0 == c1);
    std::cout << std::endl;

    return (0);
    }
0 1 2 3
4 5 6 7
true
false

operator>

Porovnání polí, větší než.

template <Ty, std::size_t N>
bool operator>(
    const array<Ty, N>& left,
    const array<Ty, N>& right);

Parametry

Ty
Typ prvku

N
Velikost pole.

Vlevo
Levý kontejner, který chcete porovnat.

Vpravo
Správný kontejner, který chcete porovnat.

Poznámky

Funkce šablony vrátí (right < left).

Příklad

// std__array__operator_gt.cpp
// compile with: /EHsc
#include <array>
#include <iostream>

typedef std::array<int, 4> Myarray;
int main()
    {
    Myarray c0 = {0, 1, 2, 3};

// display contents " 0 1 2 3"
    for (Myarray::const_iterator it = c0.begin();
        it != c0.end(); ++it)
        std::cout << " " << *it;
    std::cout << std::endl;

    Myarray c1 = {4, 5, 6, 7};

// display contents " 4 5 6 7"
    for (Myarray::const_iterator it = c1.begin();
        it != c1.end(); ++it)
        std::cout << " " << *it;
    std::cout << std::endl;

// display results of comparisons
    std::cout << std::boolalpha << " " << (c0 > c0);
    std::cout << std::endl;
    std::cout << std::boolalpha << " " << (c1 > c0);
    std::cout << std::endl;

    return (0);
    }
0 1 2 3
4 5 6 7
false
true

operator>=

Porovnání polí, větší než nebo rovno

template <Ty, std::size_t N>
bool operator>=(
    const array<Ty, N>& left,
    const array<Ty, N>& right);

Parametry

Ty
Typ prvku

N
Velikost pole.

Vlevo
Levý kontejner, který chcete porovnat.

Vpravo
Správný kontejner, který chcete porovnat.

Poznámky

Funkce šablony vrátí !(left < right).

Příklad

// std__array__operator_ge.cpp
// compile with: /EHsc
#include <array>
#include <iostream>

typedef std::array<int, 4> Myarray;
int main()
    {
    Myarray c0 = {0, 1, 2, 3};

// display contents " 0 1 2 3"
    for (Myarray::const_iterator it = c0.begin();
        it != c0.end(); ++it)
        std::cout << " " << *it;
    std::cout << std::endl;

    Myarray c1 = {4, 5, 6, 7};

// display contents " 4 5 6 7"
    for (Myarray::const_iterator it = c1.begin();
        it != c1.end(); ++it)
        std::cout << " " << *it;
    std::cout << std::endl;

// display results of comparisons
    std::cout << std::boolalpha << " " << (c0 >= c0);
    std::cout << std::endl;
    std::cout << std::boolalpha << " " << (c0 >= c1);
    std::cout << std::endl;

    return (0);
    }
0 1 2 3
4 5 6 7
true
false

Viz také

<pole>