На этом шаге мы перечислим методы, реализующие операции создания, копирования и удаления.
Для выполнения указанных операций используются следующие методы.
valarray::valarray ()
Конструктор по умолчанию. Создает пустой массив значений.
Конструктор определен только для создания массивов, элементами которых являются массивы значений. Следующим шагом должно быть
назначение правильного размера функцией resize().
explicit <I>valarray</I>::valarray (size_t num)
Создает массив значений, содержащий num элементов.
Элементы инициализируются конструктором по умолчанию (0 для базовых типов данных).
valarray::valarray (const T& value, size_t num)
Создает массив значений, содержащий num элементов. Элементы инициализируются значением value.
Обратите внимание на нестандартный порядок следования параметров. В интерфейсе остальных классов стандартной библиотеки C++
параметр num идет первым, а параметр value - вторым.
valarray::valarray (const T* array, size_t num)
Создает массив значений, содержащий num элементов. Элементы инициализируются значениями элементов массива array.
Перед вызовом необходимо убедиться в том, что массив array содержит не менее num элементов; в противном случае вызов
приводит к непредсказуемым последствиям.
valarray::valarray (const valarray& va)
Копирующий конструктор. Создает массив значений как копию vа.
valarray::~valarray ()
Деструктор. Уничтожает все элементы и освобождает память.
Вдобавок массивы значений могут создаваться объектами внутренних вспомогательных классов slice_array, gslice_array, mask_array и
indirect_array.
На следующем шаге мы рассмотрим операции присваивания.