函数模板
<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


另见