C++ Valarray 库 - pow 函数


描述

它返回一个 valarray,其中包含按相同顺序对所有元素进行幂运算的结果。计算结果为 x 的 y 次方 (xy)。

宣言

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

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

C++11

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

参数

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

  • y - 它是一个 valarray 元素,包含幂运算的指数。

返回值

它返回一个 valarray,其中包含按相同顺序对所有元素进行幂运算的结果。计算结果为 x 的 y 次方 (xy)。

例外情况

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

数据竞赛

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

例子

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

#include <iostream>
#include <cstddef>
#include <cmath>
#include <valarray>

int main () {
   std::valarray<double> val (10);
   std::valarray<double> results;

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

   results = std::pow (val,val);
   std::cout << "val^val:";
   for (std::size_t i=0; i<results.size(); ++i) std::cout << ' ' << results[i];
   std::cout << '\n';

   results = std::pow (val,2.0);
   std::cout << "val^2:";
   for (std::size_t i=0; i<results.size(); ++i) std::cout << ' ' << results[i];
   std::cout << '\n';

   results = std::pow (2.0,val);
   std::cout << "2^val:";
   for (std::size_t i=0; i<results.size(); ++i) std::cout << ' ' << results[i];
   std::cout << '\n';

   return 0;
}

让我们编译并运行上面的程序,这将产生以下结果 -

val: 1 2 3 4 5 6 7 8 9 10
val^val: 1 4 27 256 3125 46656 823543 1.67772e+07 3.8742e+08 1e+10
val^2: 1 4 9 16 25 36 49 64 81 100
2^val: 2 4 8 16 32 64 128 256 512 1024
valarray.htm