Namespaces
Variants

operator==,!=,<,<=,>,>= (std::valarray)

From cppreference.net
(Anmerkung: Der bereitgestellte HTML-Code enthält keinen übersetzbaren Text, da alle Tags leer sind. Die Struktur wurde gemäß den Anforderungen unverändert beibehalten.)
Definiert in Header <valarray>
template < class T >

std:: valarray < bool > operator == ( const std:: valarray < T > & lhs, const std:: valarray < T > & rhs ) ;
template < class T >
std:: valarray < bool > operator ! = ( const std:: valarray < T > & lhs, const std:: valarray < T > & rhs ) ;
template < class T >
std:: valarray < bool > operator < ( const std:: valarray < T > & lhs, const std:: valarray < T > & rhs ) ;
template < class T >
std:: valarray < bool > operator <= ( const std:: valarray < T > & lhs, const std:: valarray < T > & rhs ) ;
template < class T >
std:: valarray < bool > operator > ( const std:: valarray < T > & lhs, const std:: valarray < T > & rhs ) ;
template < class T >

std:: valarray < bool > operator >= ( const std:: valarray < T > & lhs, const std:: valarray < T > & rhs ) ;
**Anmerkung:** Da es sich bei dem Inhalt um C++-Code handelt und gemäß den Anweisungen keine HTML-Tags, Attribute oder Code-Inhalte übersetzt werden sollen, bleibt der gesamte Inhalt unverändert. Die C++-Operatoren und Schlüsselwörter wurden nicht übersetzt, um die technische Korrektheit zu gewährleisten.
(1)
template < class T >

std:: valarray < bool > operator == ( const typename std:: valarray < T > :: value_type & lhsv,
const std:: valarray < T > & rhs ) ;
template < class T >
std:: valarray < bool > operator ! = ( const typename std:: valarray < T > :: value_type & lhsv,
const std:: valarray < T > & rhs ) ;
template < class T >
std:: valarray < bool > operator < ( const typename std:: valarray < T > :: value_type & lhsv,
const std:: valarray < T > & rhs ) ;
template < class T >
std:: valarray < bool > operator <= ( const typename std:: valarray < T > :: value_type & lhsv,
const std:: valarray < T > & rhs ) ;
template < class T >
std:: valarray < bool > operator > ( const typename std:: valarray < T > :: value_type & lhsv,
const std:: valarray < T > & rhs ) ;
template < class T >
std:: valarray < bool > operator >= ( const typename std:: valarray < T > :: value_type & lhsv,

const std:: valarray < T > & rhs ) ;
(2)
template < class T >

std:: valarray < bool > operator == ( const std:: valarray < T > & lhs,
const typename std:: valarray < T > :: value_type & rhsv ) ;
template < class T >
std:: valarray < bool > operator ! = ( const std:: valarray < T > & lhs,
const typename std:: valarray < T > :: value_type & rhsv ) ;
template < class T >
std:: valarray < bool > operator < ( const std:: valarray < T > & lhs,
const typename std:: valarray < T > :: value_type & rhsv ) ;
template < class T >
std:: valarray < bool > operator <= ( const std:: valarray < T > & lhs,
const typename std:: valarray < T > :: value_type & rhsv ) ;
template < class T >
std:: valarray < bool > operator > ( const std:: valarray < T > & lhs,
const typename std:: valarray < T > :: value_type & rhsv ) ;
template < class T >
std:: valarray < bool > operator >= ( const std:: valarray < T > & lhs,

const typename std:: valarray < T > :: value_type & rhsv ) ;
(3)

Vergleicht jeden Wert innerhalb des numerischen Arrays mit einem anderen Wert.

1) Gibt ein numerisches Array von bool zurück, dessen Elemente jeweils durch Anwendung des angegebenen Vergleichsoperators auf die entsprechenden Werte von lhs und rhs erhalten werden.

Das Verhalten ist undefiniert, falls size ( ) ! = v. size ( ) .

2) Gibt ein numerisches Array von bool zurück, dessen Elemente jeweils durch Anwendung des angegebenen Vergleichsoperators auf lhsv und den entsprechenden Wert von rhs erhalten werden.
3) Gibt ein numerisches Array von bool zurück, dessen Elemente jeweils durch Anwendung des angegebenen Vergleichsoperators auf die entsprechenden Werte von lhs und rhsv erhalten werden.

Inhaltsverzeichnis

Parameter

lhs, rhs - numerische Arrays zum Vergleichen
lhsv, rhsv - Werte zum Vergleichen mit jedem Element innerhalb eines numerischen Arrays

Rückgabewert

Ein numerisches Array von bool das Vergleichsergebnisse der entsprechenden Elemente enthält.

Exceptions

Kann implementierungsdefinierte Ausnahmen auslösen.

Hinweise

Jeder der Operatoren kann nur instanziiert werden, wenn die folgenden Anforderungen erfüllt sind:

  • Der angegebene Operator kann auf den Typ T angewendet werden.
  • Der Ergebniswert kann eindeutig in bool konvertiert werden.

Die Funktion kann mit einem Rückgabetyp implementiert werden, der sich von std::valarray unterscheidet. In diesem Fall hat der Ersatztyp die folgenden Eigenschaften:

Beispiel

#include <iostream>
#include <valarray>
int main()
{
    // alle Negativen in einem valarray auf Null setzen
    std::valarray<int> v = {1, -1, 0, -3, 10, -1, -2};
    std::cout << "Vorher: ";
    for (auto n : v)
        std::cout << n << ' ';
    std::cout << '\n';
    v[v < 0] = 0;
    std::cout << "Nachher: ";
    for (auto n : v)
        std::cout << n << ' ';
    std::cout << '\n';
    // das valarray<bool>-Ergebnis von == in einen einzelnen bool konvertieren
    std::valarray<int> a = {1, 2, 3};
    std::valarray<int> b = {2, 4, 6};
    std::cout << "2*a == b ist " << std::boolalpha
              << (2 * a == b).min() << '\n';
}

Ausgabe:

Vorher: 1 -1 0 -3 10 -1 -2
Nachher: 1 0 0 0 10 0 0
2*a == b ist true

Fehlerberichte

Die folgenden verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.

DR Angewendet auf Verhalten wie veröffentlicht Korrektes Verhalten
LWG 3074 C++98 T wird sowohl vom Skalar als auch vom valarray für (2,3) abgeleitet,
was gemischte Typaufrufe verhindert
leite T nur vom valarray ab