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
Gslice_array которого значения элемента, который будет использоваться в инициализации элементы, построенными valarray.MaskArray
Mask_array которого значения элемента, который будет использоваться в инициализации элементы, построенными valarray.IndArray
Indirect_array которого значения элемента, который будет использоваться в инициализации элементы, построенными valarray.IList
Initializer_list, содержащий элементы для копирования.
Заметки
Первый конструктор (по умолчанию) инициализирует объект в пустой массив. Следующие 3 конструктора инициализируют каждое объект в массив элементов Count следующим образом:
Для явного valarray(size_t Count), каждый элемент инициализируется с конструктором по умолчанию.
Для valarray(const Type& Val, Count), каждый элемент инициализируется с Val.
Для valarray(const Type* Ptr, Count), элемент, начиная I инициализируется с Ptr[I].
Каждый оставшийся конструктор инициализирует объект в valarray<Type> объект определенным подмножеством, указанных в аргументе.
Последний конструктор такое же, как в следующем к последнему, но с Декларатор ссылки Rvalue: &&.
Пример
// 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;
}
Требования
Заголовок:<valarray>
Пространство имен: std