Шаг 444.
Библиотека STL.
Числовые типы. Строение класса valarray. Операции присваивания

    На этом шаге мы рассмотрим различные формы методов, выполняющих присваивание.

    Для выполнения указанных операций используются следующие методы.

  valarray& valarray::operator= (const valarray& va)
Присваивает элементы массива значений va.

    Если массив на имеет другой размер, присваивание приводит к непредсказуемым последствиям.

    Значение элемента в левой части любой операции присваивания массиву значений не должно зависеть от значений других элементов, находящихся в левой части. Другими словами, если операция присваивания перезаписывает значения, используемые в правой части операции присваивания, это приводит к непредсказуемым последствиям. Следовательно, элементы из левой части вообще не могут указываться в выражении, находящемся в правой части. Это ограничение объясняется тем, что порядок вычисления результата при обработке массивов значений не определен.

  valarray& valarray::operator= (const T& value)
Присваивает value каждому элементу массива значений.

    Размер массива значений не изменяется, указатели и ссылки на элементы остаются действительными.

    Вдобавок допускается присваивание значений внутренних вспомогательных классов slice_array, gslice_array, mask_array и indirect_array.

    На следующем шаге мы рассмотрим функции класса.




Предыдущий шаг Содержание Следующий шаг