Класс slice_array
Внутренний вспомогательный шаблон класса, поддерживающий объекты, предоставляя slice
операции между массивами подмножества, определенными срезом.valarray
Синтаксис
template <class Type>
class slice_array : public slice {
public:
typedef Type value_type;
void operator=(const valarray<Type>& x) const;
void operator=(const Type& x) const;
void operator*=(const valarray<Type>& x) const;
void operator/=(const valarray<Type>& x) const;
void operator%=(const valarray<Type>& x) const;
void operator+=(const valarray<Type>& x) const;
void operator-=(const valarray<Type>& x) const;
void operator^=(const valarray<Type>& x) const;
void operator&=(const valarray<Type>& x) const;
void operator|=(const valarray<Type>& x) const;
void operator<<=(const valarray<Type>& x) const;
void operator>>=(const valarray<Type>& x) const;
// The rest is private or implementation defined
}
Замечания
Класс описывает объект, в котором хранится ссылка на объект класса valarray<Type>
, а также объект класса slice
, описывающий последовательность элементов для выбора из valarray<Type>
объекта.
Шаблон класса создается косвенно определенными valarray
операциями и не может использоваться непосредственно в программе. Внутренний вспомогательный шаблон класса, используемый оператором slice
подстрока:
slice_array<Type> valarray<Type>::operator[]( slice )
.
Объект создается slice_array<Type>
только путем написания выражения формы va[sl]
для среза sl
valarray va
. Затем функции-члены класса slice_array
ведут себя как соответствующие подписи функций, определенные для valarray<Type>
, за исключением того, что затрагивается только последовательность выбранных элементов. Последовательность, контролируемая slice_array
конструктором, определяется тремя параметрами slice
конструктора, индексом первого элемента в slice
элементе, числом элементов и расстоянием между элементами. Вырезать slice_array
из valarray
va
объявленных va[slice(2, 5, 3)]
элементами с индексами 2, 5, 8, 11 и 14 из va
. Чтобы процедура была действительной, индексы должны быть действительными.
Пример
Пример объявления и использования slice_array
см. в примереslice::slice
.
Требования
Заголовок:<valarray>
Пространство именstd
:
См. также
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по