Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Класс
Внутренний вспомогательный шаблон класса, поддерживающий объекты, которые являются подмножеством объектов, предоставляя операции между массивами подмножества, определенными путем указания подмножества valarray индексов родительского valarrayобъекта.
Синтаксис
Замечания
Класс описывает объект, в котором хранится ссылка на объект va класса valarray<Type>, а также объект xa класса valarray<size_t>, описывающий последовательность элементов для выбора из valarray<Type> объекта.
Вы создаете indirect_array<Type> объект только путем написания выражения формы va[xa]. Затем функции-члены класса indirect_array ведут себя как соответствующие подписи функций, определенные для valarray<Type>, за исключением того, что затрагивается только последовательность выбранных элементов.
Последовательность состоит из xa.size элементов, где элемент I становится индексом xa[I] внутри va.
Example
// indirect_array.cpp
// compile with: /EHsc
#include <valarray>
#include <iostream>
int main( )
{
using namespace std;
int i;
valarray<int> va ( 10 );
for ( i = 0 ; i < 10 ; i += 2 )
va [ i ] = i;
for ( i = 1 ; i < 10 ; i += 2 )
va [ i ] = -1;
cout << "The initial operand valarray is: ( ";
for ( i = 0 ; i < 10 ; i++ )
cout << va [ i ] << " ";
cout << ")." << endl;
// Select 2nd, 4th & 6th elements
// and assign a value of 10 to them
valarray<size_t> indx ( 3 );
indx [0] = 2;
indx [1] = 4;
indx [2] = 6;
va[indx] = 10;
cout << "The modified operand valarray is: ( ";
for (i = 0 ; i < 10 ; i++ )
cout << va [ i ] << " ";
cout << ")." << endl;
}
Выходные данные
The initial operand valarray is: (0 -1 2 -1 4 -1 6 -1 8 -1).
The modified operand valarray is: (0 -1 10 -1 10 -1 10 -1 8 -1).
Требования
Заголовок:<valarray>
Пространство имен:std