Namespaces
Variants

std::abs(std::valarray)

Von de.cppreference.net
 
 
 
 
Definiert in Header <valarray>
template< class T >
valarray<T> abs( const valarray<T>& va );

Berechnet den absoluten Wert jedes Elements im Wertefeld.

Parameter

va - Wert-Array, auf das die Operation angewendet werden soll

Rückgabewert

Wertearray, das die absoluten Werte der Werte in va enthält.

Anmerkungen

Nichtqualifizierte Funktion (abs) wird verwendet, um die Berechnung durchzuführen. Falls eine solche Funktion nicht verfügbar ist, wird std::abs aufgrund von argumentabhängiger Namenssuche verwendet.

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

  • Alle const Mitgliedsfunktionen von std::valarray werden bereitgestellt.
  • std::valarray, std::slice_array, std::gslice_array, std::mask_array und std::indirect_array können aus dem Ersetzungstyp konstruiert werden.
  • Für jede Funktion, die ein const std::valarray<T>& (außer begin() und end() (seit C++11)) nimmt, sollen identische Funktionen hinzugefügt werden, die die Ersetzungstypen annehmen;
  • Für jede Funktion, die zwei const std::valarray<T>&-Argumente nimmt, sollen identische Funktionen hinzugefügt werden, die jede Kombination von const std::valarray<T>& und Ersetzungstypen annehmen.
  • Der Rückgabetyp fügt nicht mehr als zwei Ebenen von Template-Verschachtelung über dem am tiefsten verschachtelten Argumenttyp hinzu.

Mögliche Implementierung

template<class T>
valarray<T> abs(const valarray<T>& va)
{
    valarray<T> other = va;
    for (T& i : other)
        i = abs(i);
    return other; // Proxy-Objekt kann zurückgegeben werden
}

Beispiel

#include <iostream>
#include <valarray>
int main()
{
    std::valarray<int> v{1, -2, 3, -4, 5, -6, 7, -8};
    std::valarray<int> v2 = std::abs(v);
    for (auto n : v2)
        std::cout << n << ' ';
    std::cout << '\n';
}

Ausgabe:

1 2 3 4 5 6 7 8

Siehe auch

berechnet den absoluten Wert eines ganzzahligen Wertes ( |x| )
(Funktion)
absoluter Wert eines Gleitkommawertes ( |x| )
(Funktion)
gibt den Betrag einer komplexen Zahl zurück
(Funktions-Template)