mask_array
kelas
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;
}
Hasil
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>
Ruang nama:std
Baca juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk