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)。
异常
Basic guarantee − 如果对元素执行的任何操作引发异常。
数据竞争
所有有效复制的元素都被访问。
示例
在下面的示例中解释了 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