valarray();
explicit valarray(size_t n);
Effects: Создает a valarray , имеющий длину n. Каждый элемент массива равен value-initialized.
valarray(const T& v, size_t n);
Effects: Создает a valarray , имеющий длину n. Каждый элемент массива инициализируется с помощью v.
valarray(const T* p, size_t n);
Requires: p указывает на array ([dcl.array]) как минимум из n элементов.
Effects: Создает a valarray , имеющий длину n. Значения элементов массива инициализируются первыми n значениями, на которые указывает первый аргумент.278
valarray(const valarray& v);
valarray(valarray&& v) noexcept;
Effects: Создает a valarray , имеющий ту же длину, что и v. Элементы инициализируются значениями соответствующих элементов v.
valarray(initializer_list<T> il);
valarray(const slice_array<T>&);
valarray(const gslice_array<T>&);
valarray(const mask_array<T>&);
valarray(const indirect_array<T>&);
~valarray();
Effects: Деструктор применяется к каждому элементу *this; реализация может вернуть всю выделенную память.
Этот конструктор по умолчанию важен, посколькуvalarray могут быть полезны массивы . После инициализации длину пустого массива можно увеличить с помощью resize функции-члена.
Этот конструктор является предпочтительным методом преобразования массива C в valarray объект.
Этот конструктор копирования создает отдельный массив, а не псевдоним. Реализации, в которых массивы совместно используют хранилище, разрешены, но они должны реализовывать механизм копирования по ссылке, чтобы гарантировать, что массивы концептуально различны.