首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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_arraystd::indirect_array可以从替换类型构造。
  • 所有接受类型参数的函数conststd::valarray&begin()end()%28,因为C++14%29也应该接受替换类型。
  • 接受两个类型参数的所有函数conststd::valarray&应该接受每一个组合conststd::valarray&以及替代型。
  • 返回类型不会在最嵌套的参数类型上添加两个以上的模板嵌套级别。

计算并打印前10个阶乘。

二次

代码语言:javascript
复制
#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';
}

二次

产出:

二次

代码语言:javascript
复制
1 2 6 24 120 720 5040 40320 362880 3628800

二次

另见

for_each

applies a function to a range of elements (function template)

代码语言:txt
复制
 ? cppreference.com

在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com