Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Templat kelas internal dan tambahan yang mendukung objek yang merupakan subset objek induk valarray , yang ditentukan dengan ekspresi Boolean, dengan menyediakan operasi antara array subset.
Keterangan
Kelas menjelaskan objek yang menyimpan referensi ke objek va kelas valarray<Type>, bersama dengan objek ba kelas valarray<bool>, yang menjelaskan urutan elemen untuk dipilih dari valarray<Type> objek.
Anda membuat mask_array<Type> objek hanya dengan menulis ekspresi formulir va[ba]. Fungsi anggota kelas mask_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 sebagian besar ba.size elemen. Elemen J hanya disertakan jika ba[J] adalah true. Ada banyak elemen dalam urutan karena ada true elemen di ba. Jika I adalah indeks elemen true terendah dalam ba, maka va[I] adalah elemen nol dalam urutan yang dipilih.
Contoh
// mask_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;
// Use masked subsets to assign a value of 10
// to all elements grrater than 3 in value
va [va > 3 ] = 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 2 -1 10 -1 10 -1 10 -1).
Persyaratan
Header:<valarray>
kumpulan nama XML: std