C++ valarray 庫 - apply 函式



描述

它返回一個 valarray,其每個元素都初始化為將 func 應用於 *this 中相應元素的結果。

宣告

以下是 std::valarray::apply 函式的宣告。

valarray apply (T func(T)) const;
valarray apply (T func(const T&)) const;

C++11

valarray apply (T func(T)) const;
valarray apply (T func(const T&)) const;

引數

func − 它是一個指向函式的指標,該函式接受型別為 T 的引數。

返回值

它返回一個 valarray,其每個元素都初始化為將 func 應用於 *this 中相應元素的結果。

異常

基本保證 - 如果對元素執行的任何操作丟擲異常。

資料競爭

訪問所有有效複製的元素。

示例

下面的示例解釋了 std::valarray::apply 函式。

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

int increment (int x) {return ++x;}

int main () {
   int init[]={0,10,20,30,40};
   std::valarray<int> foo (init,5);

   std::valarray<int> bar = foo.apply(increment);

   std::cout << "foo contains:";
   for (std::size_t n=0; n<bar.size(); n++)
      std::cout << ' ' << bar[n];
   std::cout << '\n';

   return 0;
}

讓我們編譯並執行上面的程式,這將產生以下結果:

foo contains: 1 11 21 31 41 
valarray.htm
廣告
© . All rights reserved.