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