C++ Valarray 库 - abs 函数


描述

它返回一个 valarray,其中包含 x 的所有元素的绝对值(按相同顺序)。

宣言

以下是 std::abs 函数的声明。

template<class T> valarray<T> abs (const valarray<T>& x);

C++11

template<class T> valarray<T> abs (const valarray<T>& x);

参数

x - 它包含定义了一元函数abs 的类型的元素。

返回值

它返回一个 valarray,其中包含 x 的所有元素的绝对值(按相同顺序)。

例外情况

基本保证- 如果对元素执行的任何操作都会引发异常。

数据竞赛

访问所有有效复制的元素。

例子

在下面的示例中解释了 std::abs 函数。

#include <iostream>
#include <cstddef>     
#include <cstdlib>     
#include <valarray>    

   int main () {
   int val[] = {15, 23, -1, -40, 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: 15 23 -1 -40 7
bar: 15 23 1 40 7
valarray.htm