Bagikan melalui


indirect_array kelas

Templat kelas internal dan tambahan yang mendukung objek yang merupakan subset valarray objek dengan menyediakan operasi antara array subset yang ditentukan dengan menentukan subset indeks induk valarray.

Sintaks

Keterangan

Kelas menjelaskan objek yang menyimpan referensi ke objek va kelas valarray<Type>, bersama dengan objek xa kelas valarray<size_t>, yang menjelaskan urutan elemen untuk dipilih dari valarray<Type> objek.

Anda membuat indirect_array<Type> objek hanya dengan menulis ekspresi formulir va[xa]. Fungsi anggota kelas indirect_array kemudian berulah seperti tanda tangan fungsi terkait yang ditentukan untuk valarray<Type>, kecuali bahwa hanya urutan elemen yang dipilih yang terpengaruh.

Urutannya terdiri dari xa.size elemen, di mana elemen I menjadi indeks xa[I] dalam 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;
}

Output

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).

Persyaratan

Header:<valarray>

kumpulan nama XML: std

Lihat juga

Keamanan utas di Pustaka Standar C++