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.
Operator
operator!=
Menguji apakah elemen yang sesuai dari dua objek berukuran valarray sama tidak sama, atau apakah semua elemen tidak valarray setara dengan nilai yang ditentukan.
template <class Type>
valarray<bool>
operator!=(
const valarray<Type>& left,
const valarray<Type>& right);
template <class Type>
valarray<bool>
operator!=(
const valarray<Type>& left,
const Type& right);
template <class Type>
valarray<bool>
operator!=(
const Type& left,
const valarray<Type>& right);
Parameter
left
Objek valarray yang elemennya akan diuji untuk ketidaksetaraan terhadap objek lain valarray , atau nilai jenis elemen untuk dibandingkan dengan setiap elemen dalam valarray.
right
Objek valarray yang elemennya akan diuji untuk ketidaksetaraan terhadap objek lain valarray , atau nilai jenis elemen untuk dibandingkan dengan setiap elemen dalam valarray.
Nilai hasil
Nilai valarray Boolean, masing-masing adalah:
truejika elemen yang sesuai tidak sama.falsejika elemen yang sesuai sama.
Keterangan
Operator templat pertama mengembalikan objek kelas valarray<bool>, masing-masing elemennya I adalah left[I] != right[I].
Operator templat kedua menyimpan left[I] != right dalam elemen I.
Operator templat ketiga menyimpan left != right[I] dalam elemen I.
Contoh
// valarray_op_ne.cpp
// compile with: /EHsc
#include <valarray>
#include <iostream>
int main( )
{
using namespace std;
int i;
valarray<int> vaL ( 10 ), vaR ( 10 );
valarray<bool> vaNE ( 10 );
for ( i = 0 ; i < 10 ; i += 2 )
vaL [ i ] = -i;
for ( i = 1 ; i < 10 ; i += 2 )
vaL [ i ] = i;
for ( i = 0 ; i < 10 ; i++ )
vaR [ i ] = i;
cout << "The initial Left valarray is: ( ";
for ( i = 0 ; i < 10 ; i++ )
cout << vaL [ i ] << " ";
cout << ")." << endl;
cout << "The initial Right valarray is: ( ";
for ( i = 0 ; i < 10 ; i++ )
cout << vaR [ i ] << " ";
cout << ")." << endl;
vaNE = ( vaL != vaR );
cout << "The element-by-element result of "
<< "the not equal comparison test is the\n"
<< "valarray: ( ";
for ( i = 0 ; i < 10 ; i++ )
cout << vaNE [ i ] << " ";
cout << ")." << endl;
}
The initial Left valarray is: ( 0 1 -2 3 -4 5 -6 7 -8 9 ).
The initial Right valarray is: ( 0 1 2 3 4 5 6 7 8 9 ).
The element-by-element result of the not equal comparison test is the
valarray: ( 0 0 1 0 1 0 1 0 1 0 ).
operator%
Mendapatkan sisa pembagian elemen yang sesuai dari dua objek berukuran valarray sama, atau membagi valarray dengan nilai tertentu, atau membagi nilai yang ditentukan dengan valarray.
template <class Type>
valarray<Type>
operator%(
const valarray<Type>& left,
const valarray<Type>& right);
template <class Type>
valarray<Type>
operator%(
const valarray<Type>& left,
const Type& right);
template <class Type>
valarray<Type>
operator%(
const Type& left,
const valarray<Type>& right);
Parameter
left
Nilai atau valarray yang berfungsi sebagai dividen di mana nilai lain atau valarray akan dibagi.
right
Nilai atau valarray yang berfungsi sebagai pembagi dan yang membagi nilai lain atau valarray.
Nilai hasil
Elemen valarray yang merupakan sisa-sisa elemen bijaksana left dibagi dengan right.
Contoh
// valarray_op_rem.cpp
// compile with: /EHsc
#include <valarray>
#include <iostream>
int main( )
{
using namespace std;
int i;
valarray<int> vaL ( 6 ), vaR ( 6 );
valarray<int> vaREM ( 6 );
for ( i = 0 ; i < 6 ; i += 2 )
vaL [ i ] = 53;
for ( i = 1 ; i < 6 ; i += 2 )
vaL [ i ] = -67;
for ( i = 0 ; i < 6 ; i++ )
vaR [ i ] = 3*i+1;
cout << "The initial Left valarray is: ( ";
for ( i = 0 ; i < 6 ; i++ )
cout << vaL [ i ] << " ";
cout << ")." << endl;
cout << "The initial Right valarray is: ( ";
for ( i = 0 ; i < 6 ; i++ )
cout << vaR [ i ] << " ";
cout << ")." << endl;
vaREM = ( vaL % vaR );
cout << "The remainders from the element-by-element "
<< "division is the\n"
<< "valarray: ( ";
for ( i = 0 ; i < 6 ; i++ )
cout << vaREM [ i ] << " ";
cout << ")." << endl;
}
The initial Left valarray is: ( 53 -67 53 -67 53 -67 ).
The initial Right valarray is: ( 1 4 7 10 13 16 ).
The remainders from the element-by-element division is the
valarray: ( 0 -3 4 -7 1 -3 ).
operator&
Mendapatkan bitwise AND antara elemen yang sesuai dari dua objek berukuran valarray sama, atau antara dan valarray nilai yang ditentukan dari jenis elemen.
template <class Type>
valarray<Type>
operator&(
const valarray<Type>& left,
const valarray<Type>& right);
template <class Type>
valarray<Type>
operator&(
const valarray<Type>& left,
const Type& right);
template <class Type>
valarray<Type>
operator&(
const Type& left,
const valarray<Type>& right);
Parameter
left
Yang pertama dari dua valarray objek yang masing-masing elemennya akan dikombinasikan dengan bitwise AND, atau nilai tertentu dari jenis elemen yang akan dikombinasikan dengan bitwise AND dengan setiap elemen dari valarray.
right
Yang kedua dari dua valarray objek yang masing-masing elemennya akan dikombinasikan dengan bitwise AND, atau nilai tertentu dari jenis elemen yang akan dikombinasikan dengan bitwise AND dengan setiap elemen dari valarray.
Tampilkan Nilai
Elemen valarray yang merupakan kombinasi elemen bijaksana dari operasi bitwise AND dan left right.
Keterangan
Operasi bitwise hanya dapat digunakan untuk memanipulasi bit dalam char dan int jenis data dan varian dan bukan pada floatjenis data , , double, long double, voidbool atau lainnya yang lebih kompleks.
Bitwise AND memiliki tabel kebenaran yang sama dengan AND logis tetapi berlaku untuk jenis data pada tingkat bit individual. Berlaku operator&& pada tingkat elemen, menghitung semua nilai bukan nol sebagai true, dan hasilnya adalah valarray nilai Boolean. Bitwise AND operator&, sebaliknya, dapat menghasilkan valarray nilai selain 0 atau 1, tergantung pada hasil operasi bitwise.
Contoh
// valarray_op_bitand.cpp
// compile with: /EHsc
#include <valarray>
#include <iostream>
int main( )
{
using namespace std;
int i;
valarray<int> vaL ( 10 ), vaR ( 10 );
valarray<int> vaBWA ( 10 );
for ( i = 0 ; i < 10 ; i += 2 )
vaL [ i ] = 0;
for ( i = 1 ; i < 10 ; i += 2 )
vaL [ i ] = i+1;
for ( i = 0 ; i < 10 ; i++ )
vaR [ i ] = i;
cout << "The initial Left valarray is: ( ";
for ( i = 0 ; i < 10 ; i++ )
cout << vaL [ i ] << " ";
cout << ")." << endl;
cout << "The initial Right valarray is: ( ";
for ( i = 0 ; i < 10 ; i++ )
cout << vaR [ i ] << " ";
cout << ")." << endl;
vaBWA = ( vaL & vaR );
cout << "The element-by-element result of "
<< "the bitwise operator & is the\n"
<< "valarray: ( ";
for ( i = 0 ; i < 10 ; i++ )
cout << vaBWA [ i ] << " ";
cout << ")." << endl;
}
The initial Left valarray is: ( 0 2 0 4 0 6 0 8 0 10 ).
The initial Right valarray is: ( 0 1 2 3 4 5 6 7 8 9 ).
The element-by-element result of the bitwise operator & is the
valarray: ( 0 0 0 0 0 4 0 0 0 8 ).
operator&&
Mendapatkan AND logis antara elemen yang sesuai dari dua objek berukuran valarray sama, atau antara valarray nilai dan yang ditentukan dari valarray jenis elemen.
template <class Type>
valarray<bool>
operator&&(
const valarray<Type>& left,
const valarray<Type>& right);
template <class Type>
valarray<bool>
operator&&(
const valarray<Type>& left,
const Type& right);
template <class Type>
valarray<bool>
operator&&(
const Type& left,
const valarray<Type>& right);
Parameter
left
Yang pertama dari dua valarray objek yang masing-masing elemennya akan dikombinasikan dengan AND logis, atau nilai tertentu dari jenis elemen yang akan dikombinasikan dengan setiap elemen dari valarray.
right
Yang kedua dari dua valarray objek yang masing-masing elemennya akan dikombinasikan dengan AND logis, atau nilai tertentu dari jenis elemen yang akan dikombinasikan dengan setiap elemen dari valarray.
Nilai hasil
Elemen valarray yang berjenis bool dan merupakan kombinasi bijaksana elemen dari operasi left logis DAN dan right.
Keterangan
AND operator&& logis berlaku pada tingkat elemen, menghitung semua nilai bukan nol sebagai true, dan hasilnya adalah valarray nilai Boolean. Versi bitwise AND, operator&, sebaliknya, dapat menghasilkan valarray nilai selain 0 atau 1, tergantung pada hasil operasi bitwise.
Contoh
// valarray_op_logand.cpp
// compile with: /EHsc
#include <valarray>
#include <iostream>
int main( )
{
using namespace std;
int i;
valarray<int> vaL ( 10 ), vaR ( 10 );
valarray<bool> vaLAA ( 10 );
for ( i = 0 ; i < 10 ; i += 2 )
vaL [ i ] = 0;
for ( i = 1 ; i < 10 ; i += 2 )
vaL [ i ] = i-1;
for ( i = 0 ; i < 10 ; i++ )
vaR [ i ] = i;
cout << "The initial Left valarray is: ( ";
for (i = 0 ; i < 10 ; i++ )
cout << vaL [ i ] << " ";
cout << ")." << endl;
cout << "The initial Right valarray is: ( ";
for (i = 0 ; i < 10 ; i++ )
cout << vaR [ i ] << " ";
cout << ")." << endl;
vaLAA = ( vaL && vaR );
cout << "The element-by-element result of "
<< "the logical AND operator&& is the\n"
<< "valarray: ( ";
for (i = 0 ; i < 10 ; i++ )
cout << vaLAA [ i ] << " ";
cout << ")." << endl;
}
The initial Left valarray is: ( 0 0 0 2 0 4 0 6 0 8 ).
The initial Right valarray is: ( 0 1 2 3 4 5 6 7 8 9 ).
The element-by-element result of the logical AND operator&& is the
valarray: ( 0 0 0 1 0 1 0 1 0 1 ).
operator>
Menguji apakah elemen seseorang valarray lebih besar dari elemen berukuran valarraysama , atau apakah semua elemen lebih valarray besar atau kurang dari nilai yang ditentukan.
template <class Type>
valarray<bool>
operator>(
const valarray<Type>& left,
const valarray<Type>& right);
template <class Type>
valarray<bool>
operator>(
const valarray<Type>& left,
const Type& right);
template <class Type>
valarray<bool>
operator>(
const Type& left,
const valarray<Type>& right);
Parameter
left
Yang pertama dari dua valarray objek yang elemennya akan dibandingkan, atau nilai tertentu untuk dibandingkan dengan setiap elemen dari valarray.
right
Yang kedua dari dua valarray objek yang elemennya akan dibandingkan, atau nilai tertentu untuk dibandingkan dengan setiap elemen dari valarray.
Nilai hasil
Nilai valarray Boolean, masing-masing adalah:
trueleftjika elemen atau nilai lebih besar dari elemen atau nilai yangrightsesuai.falseleftjika elemen atau nilai tidak lebih besar dari elemen atau nilai yangrightsesuai.
Keterangan
Jika jumlah elemen dalam dua valarray objek tidak sama, hasilnya tidak ditentukan.
Contoh
// valarray_op_gt.cpp
// compile with: /EHsc
#include <valarray>
#include <iostream>
int main( )
{
using namespace std;
int i;
valarray<int> vaL ( 10 ), vaR ( 10 );
valarray<bool> vaNE ( 10 );
for ( i = 0 ; i < 10 ; i += 2 )
vaL [ i ] = -i;
for ( i = 1 ; i < 10 ; i += 2 )
vaL [ i ] = i;
for ( i = 0 ; i < 10 ; i++ )
vaR [ i ] = i - 1;
cout << "The initial Left valarray is: ( ";
for (i = 0 ; i < 10 ; i++ )
cout << vaL [ i ] << " ";
cout << ")." << endl;
cout << "The initial Right valarray is: ( ";
for ( i = 0 ; i < 10 ; i++ )
cout << vaR [ i ] << " ";
cout << ")." << endl;
vaNE = ( vaL > vaR );
cout << "The element-by-element result of "
<< "the greater than comparison test is the\n"
<< "valarray: ( ";
for ( i = 0 ; i < 10 ; i++ )
cout << vaNE [ i ] << " ";
cout << ")." << endl;
}
The initial Left valarray is: ( 0 1 -2 3 -4 5 -6 7 -8 9 ).
The initial Right valarray is: ( -1 0 1 2 3 4 5 6 7 8 ).
The element-by-element result of the greater than comparison test is the
valarray: ( 1 1 0 1 0 1 0 1 0 1 ).
operator>=
Menguji apakah elemen seseorang valarray lebih besar dari atau sama dengan elemen berukuran valarraysama , atau apakah semua elemen valarray lebih besar dari atau sama dengan atau kurang dari atau sama dengan nilai yang ditentukan.
template <class Type>
valarray<bool>
operator>=(
const valarray<Type>& left,
const valarray<Type>& right);
template <class Type>
valarray<bool>
operator>=(
const valarray<Type>& left,
const Type& right);
template <class Type>
valarray<bool>
operator>=(
const Type& left,
const valarray<Type>& right);
Parameter
left
Yang pertama dari dua valarray objek yang elemennya akan dibandingkan, atau nilai tertentu untuk dibandingkan dengan setiap elemen dari valarray.
right
Yang kedua dari dua valarray objek yang elemennya akan dibandingkan, atau nilai tertentu untuk dibandingkan dengan setiap elemen dari valarray.
Nilai hasil
Nilai valarray Boolean, masing-masing adalah:
trueleftjika elemen atau nilai lebih besar dari atau sama dengan elemen atau nilai yangrightsesuai.falseleftjika elemen atau nilai kurang dari elemen atau nilai yangrightsesuai.
Keterangan
Jika jumlah elemen dalam dua valarray objek tidak sama, hasilnya tidak ditentukan.
Contoh
// valarray_op_ge.cpp
// compile with: /EHsc
#include <valarray>
#include <iostream>
int main( )
{
using namespace std;
int i;
valarray<int> vaL ( 10 ), vaR ( 10 );
valarray<bool> vaNE ( 10 );
for ( i = 0 ; i < 10 ; i += 2 )
vaL [ i ] = -i;
for ( i = 1 ; i < 10 ; i += 2 )
vaL [ i ] = i;
for ( i = 0 ; i < 10 ; i++ )
vaR [ i ] = i - 1;
cout << "The initial Left valarray is: ( ";
for ( i = 0 ; i < 10 ; i++ )
cout << vaL [ i ] << " ";
cout << ")." << endl;
cout << "The initial Right valarray is: ( ";
for ( i = 0 ; i < 10 ; i++ )
cout << vaR [ i ] << " ";
cout << ")." << endl;
vaNE = ( vaL >= vaR );
cout << "The element-by-element result of "
<< "the greater than or equal test is the\n"
<< "valarray: ( ";
for ( i = 0 ; i < 10 ; i++ )
cout << vaNE [ i ] << " ";
cout << ")." << endl;
}
The initial Left valarray is: ( 0 1 -2 3 -4 5 -6 7 -8 9 ).
The initial Right valarray is: ( -1 0 1 2 3 4 5 6 7 8 ).
The element-by-element result of the greater than or equal test is the
valarray: ( 1 1 0 1 0 1 0 1 0 1 ).
operator>>
Menggeser kanan bit untuk setiap elemen dari valarray sejumlah posisi tertentu, atau dengan jumlah yang bijaksana elemen yang ditentukan oleh detik valarray.
template <class Type>
valarray<Type>
operator>>(
const valarray<Type>& left,
const valarray<Type>& right);
template <class Type>
valarray<Type>
operator>>(
const valarray<Type>& left,
const Type& right);
template <class Type>
valarray<Type>
operator>>(
const Type& left,
const valarray<Type>& right);
Parameter
left
Nilai yang akan digeser, atau valarray yang elemennya akan digeser.
right
Nilai yang menunjukkan jumlah pergeseran kanan, atau valarray yang elemennya menunjukkan jumlah pergeseran kanan yang bijaksana elemen.
Nilai hasil
Elemen valarray yang telah digeser ke kanan oleh jumlah yang ditentukan.
Keterangan
Nomor yang ditandatangani memiliki tanda-tanda dipertahankan.
Contoh
// valarray_op_rs.cpp
// compile with: /EHsc
#include <valarray>
#include <iostream>
int main( )
{
using namespace std;
int i;
valarray<int> vaL ( 8 ), vaR ( 8 );
valarray<int> vaNE ( 8 );
for ( i = 0 ; i < 8 ; i += 2 )
vaL [ i ] = 64;
for ( i = 1 ; i < 8 ; i += 2 )
vaL [ i ] = -64;
for ( i = 0 ; i < 8 ; i++ )
vaR [ i ] = i;
cout << "The initial Left valarray is: ( ";
for ( i = 0 ; i < 8 ; i++ )
cout << vaL [ i ] << " ";
cout << ")." << endl;
cout << "The initial Right valarray is: ( ";
for ( i = 0 ; i < 8 ; i++ )
cout << vaR [ i ] << " ";
cout << ")." << endl;
vaNE = ( vaL >> vaR );
cout << "The element-by-element result of "
<< "the right shift is the\n"
<< "valarray: ( ";
for ( i = 0 ; i < 8 ; i++ )
cout << vaNE [ i ] << " ";
cout << ")." << endl;
}
The initial Left valarray is: ( 64 -64 64 -64 64 -64 64 -64 ).
The initial Right valarray is: ( 0 1 2 3 4 5 6 7 ).
The element-by-element result of the right shift is the
valarray: ( 64 -32 16 -8 4 -2 1 -1 ).
operator<
Menguji apakah elemen seseorang valarray kurang dari elemen berukuran valarraysama , atau apakah semua elemen lebih valarray besar atau kurang dari nilai yang ditentukan.
template <class Type>
valarray<bool>
operator<(
const valarray<Type>& left,
const valarray<Type>& right);
template <class Type>
valarray<bool>
operator<(
const valarray<Type>& left,
const Type& right);
template <class Type>
valarray<bool>
operator<(
const Type& left,
const valarray<Type>& right);
Parameter
left
Yang pertama dari dua valarray objek yang elemennya akan dibandingkan, atau nilai tertentu untuk dibandingkan dengan setiap elemen dari valarray.
right
Yang kedua dari dua valarray objek yang elemennya akan dibandingkan, atau nilai tertentu untuk dibandingkan dengan setiap elemen dari valarray.
Nilai hasil
Nilai valarray Boolean, masing-masing adalah:
trueleftjika elemen atau nilai kurang dari elemen atau nilai yangrightsesuai.falseleftjika elemen atau nilai tidak kurang dari elemen atau nilai yangrightsesuai.
Keterangan
Jika jumlah elemen dalam dua valarray objek tidak sama, hasilnya tidak ditentukan.
Contoh
// valarray_op_lt.cpp
// compile with: /EHsc
#include <valarray>
#include <iostream>
int main( )
{
using namespace std;
int i;
valarray<int> vaL ( 10 ), vaR ( 10 );
valarray<bool> vaNE ( 10 );
for ( i = 0 ; i < 10 ; i += 2 )
vaL [ i ] = -i;
for ( i = 1 ; i < 10 ; i += 2 )
vaL [ i ] = i;
for ( i = 0 ; i < 10 ; i++ )
vaR [ i ] = i;
cout << "The initial Left valarray is: ( ";
for ( i = 0 ; i < 10 ; i++ )
cout << vaL [ i ] << " ";
cout << ")." << endl;
cout << "The initial Right valarray is: ( ";
for ( i = 0 ; i < 10 ; i++ )
cout << vaR [ i ] << " ";
cout << ")." << endl;
vaNE = ( vaL < vaR );
cout << "The element-by-element result of "
<< "the less-than comparison test is the\n"
<< "valarray: ( ";
for (i = 0 ; i < 10 ; i++ )
cout << vaNE [ i ] << " ";
cout << ")." << endl;
}
The initial Left valarray is: ( 0 1 -2 3 -4 5 -6 7 -8 9 ).
The initial Right valarray is: ( 0 1 2 3 4 5 6 7 8 9 ).
The element-by-element result of the less-than comparison test is the
valarray: ( 0 0 1 0 1 0 1 0 1 0 ).
operator<=
Menguji apakah elemen seseorang valarray kurang dari atau sama dengan elemen berukuran valarraysama , atau apakah semua elemen valarray lebih besar dari atau sama dengan atau kurang dari atau sama dengan nilai yang ditentukan.
template <class Type>
valarray<bool>
operator<=(
const valarray<Type>& left,
const valarray<Type>& right);
template <class Type>
valarray<bool>
operator<=(
const valarray<Type>& left,
const Type& right);
template <class Type>
valarray<bool>
operator<=(
const Type& left,
const valarray<Type>& right);
Parameter
left
Yang pertama dari dua valarray objek yang elemennya akan dibandingkan, atau nilai tertentu untuk dibandingkan dengan setiap elemen dari valarray.
right
Yang kedua dari dua valarray objek yang elemennya akan dibandingkan, atau nilai tertentu untuk dibandingkan dengan setiap elemen dari valarray.
Nilai hasil
Nilai valarray Boolean, masing-masing adalah:
trueleftjika elemen atau nilai kurang dari atau sama dengan elemen atau nilai yangrightsesuai.falseleftjika elemen atau nilai lebih besar dari elemen atau nilai yangrightsesuai.
Keterangan
Jika jumlah elemen dalam dua valarray objek tidak sama, hasilnya tidak ditentukan.
Contoh
// valarray_op_le.cpp
// compile with: /EHsc
#include <valarray>
#include <iostream>
int main( )
{
using namespace std;
int i;
valarray<int> vaL ( 10 ), vaR ( 10 );
valarray<bool> vaNE ( 10 );
for ( i = 0 ; i < 10 ; i += 2 )
vaL [ i ] = -i;
for ( i = 1 ; i < 10 ; i += 2 )
vaL [ i ] = i;
for ( i = 0 ; i < 10 ; i++ )
vaR [ i ] = i - 1;
cout << "The initial Left valarray is: ( ";
for ( i = 0 ; i < 10 ; i++ )
cout << vaL [ i ] << " ";
cout << ")." << endl;
cout << "The initial Right valarray is: ( ";
for ( i = 0 ; i < 10 ; i++ )
cout << vaR [ i ] << " ";
cout << ")." << endl;
vaNE = ( vaL <= vaR );
cout << "The element-by-element result of "
<< "the less than or equal test is the\n"
<< "valarray: ( ";
for ( i = 0 ; i < 10 ; i++ )
cout << vaNE [ i ] << " ";
cout << ")." << endl;
}
The initial Left valarray is: ( 0 1 -2 3 -4 5 -6 7 -8 9 ).
The initial Right valarray is: ( -1 0 1 2 3 4 5 6 7 8 ).
The element-by-element result of the less than or equal test is the
valarray: ( 0 0 1 0 1 0 1 0 1 0 ).
operator<<
Kiri menggeser bit untuk setiap elemen dari valarray sejumlah posisi tertentu, atau dengan jumlah yang bijaksana elemen yang ditentukan oleh detik valarray.
template <class Type>
valarray<Type>
operator<<(
const valarray<Type>& left,
const valarray<Type>& right);
template <class Type>
valarray<Type>
operator<<(
const valarray<Type>& left,
const Type& right);
template <class Type>
valarray<Type>
operator<<(
const Type& left,
const valarray<Type>& right);
Parameter
left
Nilai yang akan digeser, atau valarray yang elemennya akan digeser.
right
Nilai yang menunjukkan jumlah shift kiri, atau valarray elemen yang menunjukkan jumlah shift kiri yang bijaksana elemen.
Nilai hasil
Elemen valarray yang telah digeser ke kiri oleh jumlah yang ditentukan.
Keterangan
Nomor yang ditandatangani memiliki tanda-tanda dipertahankan.
Contoh
// valarray_op_ls.cpp
// compile with: /EHsc
#include <valarray>
#include <iostream>
int main( )
{
using namespace std;
int i;
valarray<int> vaL ( 8 ), vaR ( 8 );
valarray<int> vaNE ( 8 );
for ( i = 0 ; i < 8 ; i += 2 )
vaL [ i ] = 1;
for ( i = 1 ; i < 8 ; i += 2 )
vaL [ i ] = -1;
for ( i = 0 ; i < 8 ; i++ )
vaR [ i ] = i;
cout << "The initial Left valarray is: ( ";
for ( i = 0 ; i < 8 ; i++ )
cout << vaL [ i ] << " ";
cout << ")." << endl;
cout << "The initial Right valarray is: ( ";
for ( i = 0 ; i < 8 ; i++ )
cout << vaR [ i ] << " ";
cout << ")." << endl;
vaNE = ( vaL << vaR );
cout << "The element-by-element result of "
<< "the left shift is the\n"
<< "valarray: ( ";
for ( i = 0 ; i < 8 ; i++ )
cout << vaNE [ i ] << " ";
cout << ")." << endl;
}
The initial Left valarray is: ( 1 -1 1 -1 1 -1 1 -1 ).
The initial Right valarray is: ( 0 1 2 3 4 5 6 7 ).
The element-by-element result of the left shift is the
valarray: ( 1 -2 4 -8 16 -32 64 -128 ).
operator*
Mendapatkan produk elemen bijaksana antara elemen yang sesuai dari dua objek berukuran valarray sama, atau antara nilai dan valarray yang ditentukan.
template <class Type>
valarray<Type>
operator*(
const valarray<Type>& left,
const valarray<Type>& right);
template <class Type>
valarray<Type>
operator*(
const valarray<Type>& left,
const Type& right);
template <class Type>
valarray<Type>
operator*(
const Type& left,
const valarray<Type>& right);
Parameter
left
Yang pertama dari dua valarray objek yang elemennya akan dikalikan, atau nilai tertentu untuk dikalikan dengan setiap elemen dari valarray.
right
Yang kedua dari dua valarray objek yang elemennya akan dikalikan, atau nilai tertentu untuk dikalikan dengan setiap elemen dari valarray.
Nilai hasil
Elemen valarray yang merupakan produk elemen bijaksana dari left dan right.
Contoh
// valarray_op_eprod.cpp
// compile with: /EHsc
#include <valarray>
#include <iostream>
int main( )
{
using namespace std;
int i;
valarray<int> vaL ( 8 ), vaR ( 8 );
valarray<int> vaNE ( 8 );
for ( i = 0 ; i < 8 ; i += 2 )
vaL [ i ] = 2;
for ( i = 1 ; i < 8 ; i += 2 )
vaL [ i ] = -1;
for ( i = 0 ; i < 8 ; i++ )
vaR [ i ] = i;
cout << "The initial Left valarray is: ( ";
for (i = 0 ; i < 8 ; i++ )
cout << vaL [ i ] << " ";
cout << ")." << endl;
cout << "The initial Right valarray is: ( ";
for (i = 0 ; i < 8 ; i++ )
cout << vaR [ i ] << " ";
cout << ")." << endl;
vaNE = ( vaL * vaR );
cout << "The element-by-element result of "
<< "the multiplication is the\n"
<< "valarray: ( ";
for (i = 0 ; i < 8 ; i++ )
cout << vaNE [ i ] << " ";
cout << ")." << endl;
}
The initial Left valarray is: ( 2 -1 2 -1 2 -1 2 -1 ).
The initial Right valarray is: ( 0 1 2 3 4 5 6 7 ).
The element-by-element result of the multiplication is the
valarray: ( 0 -1 4 -3 8 -5 12 -7 ).
operator+
Mendapatkan jumlah elemen bijaksana antara elemen yang sesuai dari dua objek berukuran valarray sama, atau antara nilai dan valarray yang ditentukan.
template <class Type>
valarray<Type>
operator+(
const valarray<Type>& left,
const valarray<Type>& right);
template <class Type>
valarray<Type>
operator+(
const valarray<Type>& left,
const Type& right);
template <class Type>
valarray<Type>
operator+(
const Type& left,
const valarray<Type>& right);
Parameter
left
Yang pertama dari dua valarray objek yang elemennya akan ditambahkan, atau nilai tertentu untuk ditambahkan dengan setiap elemen dari valarray.
right
Yang kedua dari dua valarray objek yang elemennya akan ditambahkan, atau nilai tertentu untuk ditambahkan dengan setiap elemen dari valarray.
Nilai hasil
Elemen valarray yang merupakan jumlah elemen bijaksana dari left dan right.
Contoh
// valarray_op_esum.cpp
// compile with: /EHsc
#include <valarray>
#include <iostream>
int main( )
{
using namespace std;
int i;
valarray<int> vaL ( 8 ), vaR ( 8 );
valarray<int> vaNE ( 8 );
for ( i = 0 ; i < 8 ; i += 2 )
vaL [ i ] = 2;
for ( i = 1 ; i < 8 ; i += 2 )
vaL [ i ] = -1;
for ( i = 0 ; i < 8 ; i++ )
vaR [ i ] = i;
cout << "The initial Left valarray is: ( ";
for ( i = 0 ; i < 8 ; i++ )
cout << vaL [ i ] << " ";
cout << ")." << endl;
cout << "The initial Right valarray is: ( ";
for ( i = 0 ; i < 8 ; i++ )
cout << vaR [ i ] << " ";
cout << ")." << endl;
vaNE = ( vaL + vaR );
cout << "The element-by-element result of "
<< "the sum is the\n"
<< "valarray: ( ";
for ( i = 0 ; i < 8 ; i++ )
cout << vaNE [ i ] << " ";
cout << ")." << endl;
}
The initial Left valarray is: ( 2 -1 2 -1 2 -1 2 -1 ).
The initial Right valarray is: ( 0 1 2 3 4 5 6 7 ).
The element-by-element result of the sum is the
valarray: ( 2 0 4 2 6 4 8 6 ).
operator-
Mendapatkan perbedaan elemen bijak antara elemen yang sesuai dari dua objek berukuran valarray sama, atau antara nilai dan valarray yang ditentukan.
template <class Type>
valarray<Type>
operator-(
const valarray<Type>& left,
const valarray<Type>& right);
template <class Type>
valarray<Type>
operator-(
const valarray<Type>& left,
const Type& right);
template <class Type>
valarray<Type>
operator-(
const Type& left,
const valarray<Type>& right);
Parameter
left
Nilai atau valarray yang berfungsi sebagai minuend, nilai dari mana nilai atau valarray objek lain akan dikurangi dalam membentuk perbedaan.
right
Nilai atau valarray yang berfungsi sebagai subtrahend, nilai yang akan dikurangi dari nilai atau valarray objek lain dalam membentuk perbedaan.
Nilai hasil
Elemen valarray yang merupakan perbedaan elemen bijaksana dari left dan right.
Keterangan
Terminologi aritmatika yang digunakan dalam menjelaskan pengurangan:
perbedaan = minuend - subtrahend
Contoh
// valarray_op_ediff.cpp
// compile with: /EHsc
#include <valarray>
#include <iostream>
int main( )
{
using namespace std;
int i;
valarray<int> vaL ( 8 ), vaR ( 8 );
valarray<int> vaNE ( 8 );
for ( i = 0 ; i < 8 ; i += 2 )
vaL [ i ] = 10;
for ( i = 1 ; i < 8 ; i += 2 )
vaL [ i ] = 0;
for ( i = 0 ; i < 8 ; i++ )
vaR [ i ] = i;
cout << "The initial Left valarray is: ( ";
for ( i = 0 ; i < 8 ; i++ )
cout << vaL [ i ] << " ";
cout << ")." << endl;
cout << "The initial Right valarray is: ( ";
for ( i = 0 ; i < 8 ; i++ )
cout << vaR [ i ] << " ";
cout << ")." << endl;
vaNE = ( vaL - vaR );
cout << "The element-by-element result of "
<< "the difference is the\n"
<< "valarray: ( ";
for (i = 0 ; i < 8 ; i++ )
cout << vaNE [ i ] << " ";
cout << ")." << endl;
}
The initial Left valarray is: ( 10 0 10 0 10 0 10 0 ).
The initial Right valarray is: ( 0 1 2 3 4 5 6 7 ).
The element-by-element result of the difference is the
valarray: ( 10 -1 8 -3 6 -5 4 -7 ).
operator/
Mendapatkan kuota elemen bijak antara elemen yang sesuai dari dua objek berukuran valarray sama, atau antara nilai dan valarray yang ditentukan.
template <class Type>
valarray<Type>
operator/(
const valarray<Type>& left,
const valarray<Type>& right);
template <class Type>
valarray<Type>
operator/(
const valarray<Type>& left,
const Type& right);
template <class Type>
valarray<Type>
operator/(
const Type& left,
const valarray<Type>& right);
Parameter
left
Nilai atau valarray yang berfungsi sebagai dividen di mana nilai lain atau valarray akan dibagi dalam membentuk kuota.
right
Nilai atau valarray yang berfungsi sebagai pembagi, dan yang membagi nilai lain atau valarray dalam membentuk kuota.
Nilai hasil
Elemen valarray yang merupakan kutipan elemen bijaksana left dibagi dengan right.
Keterangan
Terminologi aritmatika yang digunakan dalam menjelaskan pembagian:
quotient = dividend / divisor
Contoh
// valarray_op_equo.cpp
// compile with: /EHsc
#include <valarray>
#include <iostream>
int main( )
{
using namespace std;
int i;
valarray<double> vaL ( 6 ), vaR ( 6 );
valarray<double> vaNE ( 6 );
for ( i = 0 ; i < 6 ; i += 2 )
vaL [ i ] = 100;
for ( i = 1 ; i < 6 ; i += 2 )
vaL [ i ] = -100;
for ( i = 0 ; i < 6 ; i++ )
vaR [ i ] = 2*i;
cout << "The initial Left valarray is: ( ";
for ( i = 0 ; i < 6 ; i++ )
cout << vaL [ i ] << " ";
cout << ")." << endl;
cout << "The initial Right valarray is: ( ";
for ( i = 0 ; i < 6 ; i++ )
cout << vaR [ i ] << " ";
cout << ")." << endl;
vaNE = ( vaL / vaR );
cout << "The element-by-element result of "
<< "the quotient is the\n"
<< "valarray: ( ";
for ( i = 0 ; i < 6 ; i++ )
cout << vaNE [ i ] << " ";
cout << ")." << endl;
}
The initial Left valarray is: ( 100 -100 100 -100 100 -100 ).
The initial Right valarray is: ( 0 2 4 6 8 10 ).
The element-by-element result of the quotient is the
valarray: ( inf -50 25 -16.6667 12.5 -10 ).
operator==
Menguji apakah elemen yang sesuai dari dua objek berukuran valarray sama, atau apakah semua elemen valarray sama dengan nilai yang ditentukan.
template <class Type>
valarray<bool>
operator==(
const valarray<Type>& left,
const valarray<Type>& right);
template <class Type>
valarray<bool>
operator==(
const valarray<Type>& left,
const Type& right);
template <class Type>
valarray<bool>
operator==(
const Type& left,
const valarray<Type>& right);
Parameter
left
Yang pertama dari dua valarray objek yang elemennya akan diuji kesetaraannya, atau nilai tertentu untuk dibandingkan dengan setiap valarray elemen.
right
Yang kedua dari dua valarray objek yang elemennya akan diuji kesetaraannya, atau nilai tertentu untuk dibandingkan dengan setiap valarray elemen.
Tampilkan Nilai
Nilai valarray Boolean, masing-masing adalah:
truejika elemen yang sesuai sama.falsejika elemen yang sesuai tidak sama.
Keterangan
Operator templat pertama mengembalikan objek kelas valarray<bool>, masing-masing elemennya I adalah left[I] == right[I]. Operator templat kedua menyimpan left[I] == right dalam elemen I. Operator templat ketiga menyimpan left == right[I] dalam elemen I.
Contoh
// valarray_op_eq.cpp
// compile with: /EHsc
#include <valarray>
#include <iostream>
int main( )
{
using namespace std;
int i;
valarray<int> vaL ( 10 ), vaR ( 10 );
valarray<bool> vaNE ( 10 );
for ( i = 0 ; i < 10 ; i += 2 )
vaL [ i ] = -i;
for ( i = 1 ; i < 10 ; i += 2 )
vaL [ i ] = i;
for ( i = 0 ; i < 10 ; i++ )
vaR [ i ] = i;
cout << "The initial Left valarray is: ( ";
for (i = 0 ; i < 10 ; i++ )
cout << vaL [ i ] << " ";
cout << ")." << endl;
cout << "The initial Right valarray is: ( ";
for ( i = 0 ; i < 10 ; i++ )
cout << vaR [ i ] << " ";
cout << ")." << endl;
vaNE = ( vaL == vaR );
cout << "The element-by-element result of "
<< "the equality comparison test is the\n"
<< "valarray: ( ";
for ( i = 0 ; i < 10 ; i++ )
cout << vaNE [ i ] << " ";
cout << ")." << endl;
}
The initial Left valarray is: ( 0 1 -2 3 -4 5 -6 7 -8 9 ).
The initial Right valarray is: ( 0 1 2 3 4 5 6 7 8 9 ).
The element-by-element result of the equality comparison test is the
valarray: ( 1 1 0 1 0 1 0 1 0 1 ).
operator^
Mendapatkan OR eksklusif bitwise (XOR) antara elemen yang sesuai dari dua objek berukuran valarray sama, atau antara nilai dan valarray yang ditentukan dari jenis elemen.
template <class Type>
valarray<Type>
operator^(
const valarray<Type>& left,
const valarray<Type>& right);
template <class Type>
valarray<Type>
operator^(
const valarray<Type>& left,
const Type& right);
template <class Type>
valarray<Type>
operator^(
const Type& left,
const valarray<Type>& right);
Parameter
left
Yang pertama dari dua valarray objek yang masing-masing elemennya akan dikombinasikan dengan bitwise XOR, atau nilai tertentu dari jenis elemen yang akan dikombinasikan oleh bitwise XOR dengan setiap elemen .valarray
right
Kedua dari dua valarray objek yang masing-masing elemennya akan dikombinasikan dengan bitwise XOR, atau nilai tertentu dari jenis elemen yang akan dikombinasikan oleh XOR bitwise dengan setiap elemen .valarray
Nilai hasil
Elemen valarray yang merupakan kombinasi elemen bijaksana dari operasi left XOR bitwise dan right.
Keterangan
Operasi bitwise hanya dapat digunakan untuk memanipulasi bit dalam char dan int jenis data dan varian dan bukan pada floatjenis data , , double, long double, voidbool atau lainnya yang lebih kompleks.
Bitwise eksklusif ATAU (XOR) memiliki semantik berikut: Mengingat bit b1 dan b2, b1 XOR b2 adalah 1 jika tepat salah satu bit adalah 1; 0 jika kedua bit adalah 0 atau jika kedua bit adalah 1.
Contoh
// valarray_op_xor.cpp
// compile with: /EHsc
#include <valarray>
#include <iostream>
int main( )
{
using namespace std;
int i;
valarray<int> vaL ( 10 ), vaR ( 10 );
valarray<int> vaLAA ( 10 );
for ( i = 0 ; i < 10 ; i += 2 )
vaL [ i ] = 1;
for ( i = 1 ; i < 10 ; i += 2 )
vaL [ i ] = 0;
for ( i = 0 ; i < 10 ; i += 3 )
vaR [ i ] = i;
for ( i = 1 ; i < 10 ; i += 3 )
vaR [ i ] = i-1;
for ( i = 2 ; i < 10 ; i += 3 )
vaR [ i ] = i-1;
cout << "The initial Left valarray is: ( ";
for ( i = 0 ; i < 10 ; i++ )
cout << vaL [ i ] << " ";
cout << ")." << endl;
cout << "The initial Right valarray is: ( ";
for ( i = 0 ; i < 10 ; i++ )
cout << vaR [ i ] << " ";
cout << ")." << endl;
vaLAA = ( vaL ^ vaR );
cout << "The element-by-element result of "
<< "the bitwise XOR operator^ is the\n"
<< "valarray: ( ";
for ( i = 0 ; i < 10 ; i++ )
cout << vaLAA [ i ] << " ";
cout << ")." << endl;
}
The initial Left valarray is: ( 1 0 1 0 1 0 1 0 1 0 ).
The initial Right valarray is: ( 0 0 1 3 3 4 6 6 7 9 ).
The element-by-element result of the bitwise XOR operator^ is the
valarray: ( 1 0 0 3 2 4 7 6 6 9 ).
operator|
Mendapatkan bitwise ATAU antara elemen yang sesuai dari dua objek berukuran valarray sama atau antara valarray dan nilai yang ditentukan dari jenis elemen.
template <class Type>
valarray<Type>
operator|(
const valarray<Type>& left,
const valarray<Type>& right);
template <class Type>
valarray<Type>
operator|(
const valarray<Type>& left,
const Type& right);
template <class Type>
valarray<Type>
operator|(
const Type& left,
const valarray<Type>& right);
Parameter
left
Yang pertama dari dua valarray objek yang masing-masing elemennya akan dikombinasikan dengan bitwise OR, atau nilai tertentu dari jenis elemen yang akan dikombinasikan dengan bitwise ATAU dengan setiap elemen dari valarray.
right
Yang kedua dari dua valarray objek yang masing-masing elemennya akan dikombinasikan dengan bitwise OR, atau nilai tertentu dari jenis elemen yang akan dikombinasikan dengan bitwise ATAU dengan setiap elemen dari valarray.
Nilai hasil
Elemen valarray yang merupakan kombinasi elemen bijaksana dari operasi left bitwise ATAU dan right.
Keterangan
Operasi bitwise hanya dapat digunakan untuk memanipulasi bit dalam char dan int jenis data dan varian dan bukan pada floatjenis data , , double, long double, voidbool atau lainnya yang lebih kompleks.
Bitwise OR memiliki tabel kebenaran yang sama dengan OR logis, tetapi berlaku untuk jenis data pada tingkat bit individual. Diberikan bit b1 dan b2, b1 ATAU b2 adalah 1 jika setidaknya salah satu bit adalah 1, atau 0 jika kedua bit adalah 0. OR operator|| logis berlaku pada tingkat elemen, menghitung semua nilai nonzero sebagai true, dan hasilnya adalah valarray nilai Boolean. Bitwise ATAU operator|, sebaliknya, dapat menghasilkan valarray nilai selain 0 atau 1, tergantung pada hasil operasi bitwise.
Contoh
// valarray_op_bitor.cpp
// compile with: /EHsc
#include <valarray>
#include <iostream>
int main( )
{
using namespace std;
int i;
valarray<int> vaL ( 10 ), vaR ( 10 );
valarray<int> vaLAA ( 10 );
for ( i = 0 ; i < 10 ; i += 2 )
vaL [ i ] = 1;
for ( i = 1 ; i < 10 ; i += 2 )
vaL [ i ] = 0;
for ( i = 0 ; i < 10 ; i += 3 )
vaR [ i ] = i;
for ( i = 1 ; i < 10 ; i += 3 )
vaR [ i ] = i-1;
for ( i = 2 ; i < 10 ; i += 3 )
vaR [ i ] = i-1;
cout << "The initial Left valarray is: ( ";
for (i = 0 ; i < 10 ; i++ )
cout << vaL [ i ] << " ";
cout << ")." << endl;
cout << "The initial Right valarray is: ( ";
for (i = 0 ; i < 10 ; i++ )
cout << vaR [ i ] << " ";
cout << ")." << endl;
vaLAA = ( vaL | vaR );
cout << "The element-by-element result of "
<< "the bitwise OR operator| is the\n"
<< "valarray: ( ";
for (i = 0 ; i < 10 ; i++ )
cout << vaLAA [ i ] << " ";
cout << ")." << endl;
}
The initial Left valarray is: ( 1 0 1 0 1 0 1 0 1 0 ).
The initial Right valarray is: ( 0 0 1 3 3 4 6 6 7 9 ).
The element-by-element result of the bitwise OR operator| is the
valarray: ( 1 0 1 3 3 4 7 6 7 9 ).
operator||
Mendapatkan OR logis antara elemen yang sesuai dari dua objek berukuran valarray sama, atau antara valarray dan nilai yang ditentukan dari valarray jenis elemen.
template <class Type>
valarray<bool>
operator||(
const valarray<Type>& left,
const valarray<Type>& right);
template <class Type>
valarray<bool>
operator||(
const valarray<Type>& left,
const Type& right);
template <class Type>
valarray<bool>
operator||(
const Type& left,
const valarray<Type>& right);
Parameter
left
Yang pertama dari dua valarray objek yang masing-masing elemennya akan dikombinasikan dengan OR logis, atau nilai tertentu dari jenis elemen yang akan dikombinasikan dengan setiap elemen dari valarray.
right
Yang kedua dari dua valarray objek yang masing-masing elemennya akan dikombinasikan dengan OR logis, atau nilai tertentu dari jenis elemen yang akan dikombinasikan dengan setiap elemen dari valarray.
Nilai hasil
Elemen valarray yang berjenis bool dan merupakan kombinasi bijaksana elemen dari operasi left LOGIS ATAU dan right.
Keterangan
OR operator|| logis berlaku pada tingkat elemen, menghitung semua nilai nonzero sebagai true, dan hasilnya adalah valarray nilai Boolean. Versi bitwise OR, operator|, sebaliknya, dapat menghasilkan valarray nilai selain 0 atau 1, tergantung pada hasil operasi bitwise.
Contoh
// valarray_op_logor.cpp
// compile with: /EHsc
#include <valarray>
#include <iostream>
int main( )
{
using namespace std;
int i;
valarray<int> vaL ( 10 ), vaR ( 10 );
valarray<bool> vaLOR ( 10 );
for ( i = 0 ; i < 10 ; i += 2 )
vaL [ i ] = 0;
for ( i = 1 ; i < 10 ; i += 2 )
vaL [ i ] = i-1;
for ( i = 0 ; i < 10 ; i += 3 )
vaR [ i ] = i;
for ( i = 1 ; i < 10 ; i += 3 )
vaR [ i ] = 0;
for ( i = 2 ; i < 10 ; i += 3 )
vaR [ i ] = 0;
cout << "The initial Left valarray is: ( ";
for ( i = 0 ; i < 10 ; i++ )
cout << vaL [ i ] << " ";
cout << ")." << endl;
cout << "The initial Right valarray is: ( ";
for ( i = 0 ; i < 10 ; i++ )
cout << vaR [ i ] << " ";
cout << ")." << endl;
vaLOR = ( vaL || vaR );
cout << "The element-by-element result of "
<< "the logical OR operator|| is the\n"
<< "valarray: ( ";
for ( i = 0 ; i < 10 ; i++ )
cout << vaLOR [ i ] << " ";
cout << ")." << endl;
}
The initial Left valarray is: ( 0 0 0 2 0 4 0 6 0 8 ).
The initial Right valarray is: ( 0 0 0 3 0 0 6 0 0 9 ).
The element-by-element result of the logical OR operator|| is the
valarray: ( 0 0 0 1 0 1 1 1 0 1 ).