valarray::valarray

构造 valarray 特定范围或与特定值的元素或作为 valarray 的另一个副本的另一 valarray 或子集。

valarray( );
explicit valarray(
   size_t Count
);
valarray(
   const Type& Val, 
   size_t Count
);
valarray(
   const Type* Ptr, 
   size_t Count
);
valarray(
   const valarray<Type>& Right
);
valarray(
   const slice_array<Type>& SliceArray
);
valarray(
   const gslice_array<Type>& GsliceArray
);
valarray(
   const mask_array<Type>& MaskArray
);
valarray(
   const indirect_array<Type>& IndArray
);
valarray(
   valarray<Type>&& Right
);
valarray(
    initializer_list<Type> IList
);

参数

  • Count
    valarray中的元素个数。

  • Val
    用于初始化 valarray 中元素的值。

  • Ptr
    用于初始化 valarray 中元素的指针的值。

  • Right
    初始化新 valarray 的现有 valarray。

  • SliceArray
    元素值的 slice_array 用于初始化构造 valarray的元素。

  • GsliceArray
    元素值的 slice_array 用于初始化构造 valarray的元素。

  • MaskArray
    元素值的 slice_array 用于初始化构造 valarray的元素。

  • IndArray
    元素值的 slice_array 用于初始化构造 valarray的元素。

  • IList
    initializer_list 包含要复制的元素.

备注

第一个 (默认值) 构造函数初始化为空数组的对象。 接下来的三个构造函数每个都初始化数组 Count 的对象元素如下:

  • 明确 valarray(size_t Count), 每个元素通过默认构造函数初始化.

  • 对于 valarray(const Type& Val, Count), 每个元素通过 Val初始化.

  • 对于 valarray(const Type* Ptr, Count), I位置上的元素通过 Ptr[I]初始化.

剩下的每个函数初始化一个在自变量中指定的子集“类型”<> 对象.

最后一个构造函数与最后第二个相同,但 规则引用声明符:&&不同.

示例

// valarray_ctor.cpp
// compile with: /EHsc
#include <valarray>
#include <iostream>

int main()
{
    using namespace std;
    int i;

    // The second member function
    valarray<int> va(10);
    for (auto i : va){
        va[i] = 2 * (i + 1);
    }

    cout << "The operand valarray va is:\n(";
    for (auto i : va) {
        cout << " " << va[i];
    }
    cout << " )" << endl;

    slice Slice(2, 4, 3);

    // The fifth member function
    valarray<int> vaSlice = va[Slice];

    cout << "The new valarray initialized from the slice is vaSlice ="
        << "\nva[slice( 2, 4, 3)] = (";
    for (int i = 0; i < 3; i++) {
        cout << " " << vaSlice[i];
    }
    cout << " )" << endl;

    valarray<int> va2{{ 1, 2, 3, 4 }};
    for (auto& v : va2){
        cout << v << " ";
    }
    cout << endl;
}
  

要求

Header: <valarray>

命名空间: std

请参见

参考

valarray 类