std::valarray::apply
valarray<T> apply( T func(T) ) const; | | |
|---|---|---|
valarray<T> apply( T func(const T&) ) const; | | |
返回一个大小相同的新值数组,该值是通过应用函数获得的。func元素的前一个值。
参数
func | - | function to apply to the values |
|---|
返回值
通过应用函数获得值的结果值数组。func...
注记
函数的返回类型与std::valarray在这种情况下,替换类型具有以下属性:
- 全
const成员职能std::valarray提供。
std::valarray,,,std::slice_array,,,std::gslice_array,,,std::mask_array和std::indirect_array可以从替换类型构造。
- 所有接受类型参数的函数
conststd::valarray&除begin()和end()%28,因为C++14%29也应该接受替换类型。
- 接受两个类型参数的所有函数
conststd::valarray&应该接受每一个组合conststd::valarray&以及替代型。
- 返回类型不会在最嵌套的参数类型上添加两个以上的模板嵌套级别。
例
计算并打印前10个阶乘。
二次
#include <iostream>
#include <valarray>
#include <cmath>
int main()
{
std::valarray<int> v = {1,2,3,4,5,6,7,8,9,10};
v = v.apply([](int n)->int {
return std::round(std::tgamma(n+1));
});
for(auto n : v) {
std::cout << n << ' ';
}
std::cout << '\n';
}二次
产出:
二次
1 2 6 24 120 720 5040 40320 362880 3628800二次
另见
for_each | applies a function to a range of elements (function template) |
|---|
© cppreference.com在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。
本文档系腾讯云开发者社区成员共同维护,如有问题请联系 cloudcommunity@tencent.com

