函式模板
<valarray>

std::abs

template<class T> valarray<T> abs (const valarray<T>& x);
計算valarray元素的絕對值
返回一個valarray,其中包含x所有元素的絕對值,順序保持不變。

該函式對每個元素呼叫(未限定的)abs

此函式在<cstdlib>中為整數型別(請參閱cstdlib abs),在<cmath>中為浮點型別(請參閱cmath abs),以及在<complex>中為複數(請參閱complex abs)中過載。

引數

x
一個valarray,其中包含一元函式abs已定義的型別的元素。

返回值

一個valarray物件,其中包含x元素的絕對值。

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// abs valarray example
#include <iostream>     // std::cout
#include <cstddef>      // std::size_t
#include <cstdlib>      // std::abs(int)
#include <valarray>     // std::valarray, std::abs(valarray)

int main ()
{
  int val[] = {5, 3, -10, 4, -7};
  std::valarray<int> foo (val,5);

  std::valarray<int> bar = abs (foo);

  std::cout << "foo:";
  for (std::size_t i=0; i<foo.size(); ++i)
    std::cout << ' ' << foo[i];
  std::cout << '\n';

  std::cout << "bar:";
  for (std::size_t i=0; i<bar.size(); ++i)
    std::cout << ' ' << bar[i];
  std::cout << '\n';

  return 0;
}

輸出

foo: 5 3 -10 4 -7
bar: 5 3 10 4 7


另見