<valarray>
işleçleri
operator!=
Eşit boyuttaki valarray
iki nesnenin karşılık gelen öğelerinin eşit olup olmadığını veya bir valarray
öğesinin tüm öğelerinin belirtilen bir değere eşit olup olmadığını test eder.
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);
Parametreler
left
valarray
Öğeleri başka bir valarray
nesneye karşı eşitsizlik açısından test edilecek bir nesne veya içindeki her öğeyle karşılaştırılacak öğe valarray
türü değeri.
right
valarray
Öğeleri başka bir valarray
nesneye karşı eşitsizlik açısından test edilecek bir nesne veya içindeki her öğeyle karşılaştırılacak öğe valarray
türü değeri.
Dönüş değeri
valarray
Boole değerlerinin her biri şu şekildedir:
true
karşılık gelen öğeler eşit değilse.false
karşılık gelen öğeler eşitse.
Açıklamalar
İlk şablon işleci, öğelerinin I
left[I] != right[I]
her biri olan sınıfının valarray<bool>
nesnesini döndürür.
İkinci şablon işleci öğesinde I
depolarleft[I] != right
.
Üçüncü şablon işleci öğesinde I
depolarleft != right[I]
.
Örnek
// 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%
İki eşit boyutlu valarray
nesnenin karşılık gelen öğelerini bölmenin veya bir valarray
öğesini belirtilen bir değere bölmenin veya belirtilen bir değeri ile valarray
bölmenin kalan kısmını alır.
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);
Parametreler
left
Bir değer veya valarray
başka bir değerin bölündüğü veya valarray
bölündüğü kar payı görevi görür.
right
Bölen olarak görev alan ve başka bir değeri valarray
veya bölen bir değer veya valarray
.
Dönüş değeri
valarray
Öğeleri öğesinin öğe açısından geri left
kalanı olan ve ile right
bölünmüş olan.
Örnek
// 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&
Eşit boyutlandırılmış valarray
iki nesnenin karşılık gelen öğeleri arasında veya öğe türünün bir valarray
ile belirtilen değeri arasında bit düzeyinde VE alır.
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);
Parametreler
left
İlgili öğeleri bit tabanlı AND ile birleştirilecek olan iki valarray
nesnenin ilki veya bit tabanlı AND ile birleştirilecek öğe türünün belirtilen değeri bir öğesinin her öğesiyle birleştirilir valarray
.
right
İlgili öğeleri bit tabanlı AND ile birleştirilecek olan iki valarray
nesnenin ikincisi veya bit tabanlı AND ile birleştirilecek öğe türünün belirtilen değeri bir öğesinin her öğesiyle birleştirilecek valarray
.
Dönüş Değeri
valarray
ve öğelerinin bit tabanlı AND işleminin öğe açısından birleşimi olan left
right
bir.
Açıklamalar
Bit düzeyinde bir işlem, , , bool
void
double
long double
, veya diğer daha karmaşık veri türlerinde char
int
değilfloat
, yalnızca ve veri türlerindeki ve değişkenlerindeki bitleri işlemek için kullanılabilir.
Bit düzeyinde AND, mantıksal AND ile aynı doğruluk tablosuna sahiptir, ancak tek tek bit düzeyindeki veri türüne uygulanır. bir operator&&
öğe düzeyinde uygulanır ve sıfır olmayan tüm değerler olarak true
sayılır ve sonuç Boole değerlerinin sonucudur valarray
. Bit düzeyinde AND operator&
ise bit tabanlı işlemin sonucuna bağlı olarak 0 veya 1 dışında bir valarray
değerle sonuçlanabilir.
Örnek
// 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&&
Eşit boyutlandırılmış valarray
iki nesnenin karşılık gelen öğeleri arasında veya öğe türünün bir valarray
ile belirtilen değeri arasında mantıksal AND alır valarray
.
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);
Parametreler
left
İlgili öğeleri mantıksal AND ile birleştirilecek olan iki valarray
nesnenin ilki veya öğe türünün belirtilen değeri bir valarray
öğesinin her öğesiyle birleştirilecek.
Sağ
İlgili öğeleri mantıksal AND ile birleştirilecek olan iki valarray
nesnenin ikincisi veya öğe türünün belirtilen değeri bir valarray
öğesinin her öğesiyle birleştirilecek.
Dönüş değeri
valarray
öğeleri türünde bool
olan ve ve right
mantıksal AND işleminin öğe açısından birleşimi olan left
bir.
Açıklamalar
Mantıksal AND operator&&
, sıfır olmayan tüm değerleri olarak true
sayarak bir öğe düzeyine uygulanır ve sonuç Boole değerlerinin sonucudur valarray
. VE'nin bit düzeyindeki sürümü ise bit operator&
düzeyinde işlemin sonucuna bağlı olarak 0 veya 1 dışında bir valarray
değerle sonuçlanabilir.
Örnek
// 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>
Bir valarray
öğesinin öğelerinin eşit boyuttaki valarray
bir öğesinin öğelerinden büyük olup olmadığını veya öğesinin tüm öğelerinin valarray
belirtilen bir değerden büyük mü yoksa daha küçük mü olduğunu sınar.
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);
Parametreler
left
Öğeleri karşılaştırılacak iki valarray
nesneden ilki veya bir öğesinin her öğesiyle karşılaştırılacak belirtilen bir valarray
değer.
right
Öğeleri karşılaştırılacak olan iki valarray
nesnenin ikincisi veya bir öğesinin her öğesiyle karşılaştırılacak belirtilen değer valarray
.
Dönüş değeri
valarray
Boole değerlerinin her biri şu şekildedir:
true
left
öğe veya değer karşılık gelenright
öğeden veya değerden büyükse.false
left
öğe veya değer karşılık gelenright
öğeden veya değerden büyük değilse.
Açıklamalar
İki valarray
nesnedeki öğe sayısı eşit değilse sonuç tanımlanmamış olur.
Örnek
// 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>=
Bir valarray
öğesinin öğelerinin eşit boyutlu valarray
bir öğesinin öğelerine eşit veya ondan büyük olup olmadığını ya da öğesinin tüm öğelerinin valarray
belirtilen bir değere eşit veya daha büyük olup olmadığını sınar.
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);
Parametreler
left
Öğeleri karşılaştırılacak iki valarray
nesneden ilki veya bir öğesinin her öğesiyle karşılaştırılacak belirtilen bir valarray
değer.
right
Öğeleri karşılaştırılacak olan iki valarray
nesnenin ikincisi veya bir öğesinin her öğesiyle karşılaştırılacak belirtilen değer valarray
.
Dönüş değeri
valarray
Boole değerlerinin her biri şu şekildedir:
true
left
öğe veya değer karşılık gelenright
öğe veya değerden büyük veya buna eşitse.false
left
öğe veya değer karşılık gelenright
öğeden veya değerden küçükse.
Açıklamalar
İki valarray
nesnedeki öğe sayısı eşit değilse sonuç tanımlanmamış olur.
Örnek
// 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>>
Belirtilen sayıda konumun valarray
her öğesi için bitleri sağ kaydırarak veya bir saniyeyle valarray
belirtilen öğeye göre bir miktara göre değiştirir.
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);
Parametreler
left
Kaydırılacak değer veya valarray
öğeleri kaydırılacak olan değer.
right
Sağ kaydırma miktarını gösteren değer veya öğeleri öğeye göre sağ kaydırma miktarını gösteren değerdir valarray
.
Dönüş değeri
valarray
Öğeleri belirtilen miktarda sağa kaydırılmış olan bir.
Açıklamalar
İmzalı sayıların işaretleri korunur.
Örnek
// 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<
Bir valarray
öğesinin öğelerinin eşit boyuttaki valarray
bir öğesinin öğelerinden küçük olup olmadığını veya öğesinin tüm öğelerinin valarray
belirtilen bir değerden büyük mü yoksa daha küçük mü olduğunu sınar.
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);
Parametreler
left
Öğeleri karşılaştırılacak iki valarray
nesneden ilki veya bir öğesinin her öğesiyle karşılaştırılacak belirtilen bir valarray
değer.
right
Öğeleri karşılaştırılacak olan iki valarray
nesnenin ikincisi veya bir öğesinin her öğesiyle karşılaştırılacak belirtilen değer valarray
.
Dönüş değeri
valarray
Boole değerlerinin her biri şu şekildedir:
true
left
öğe veya değer karşılık gelenright
öğeden veya değerden küçükse.false
left
öğe veya değer karşılık gelenright
öğeden veya değerden küçük değilse.
Açıklamalar
İki valarray
nesnedeki öğe sayısı eşit değilse sonuç tanımlanmamış olur.
Örnek
// 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<=
Bir valarray
öğesinin öğelerinin eşit boyuttaki valarray
bir öğesinin öğelerine eşit veya ondan küçük olup olmadığını ya da öğesinin valarray
tüm öğelerinin belirtilen bir değere eşit veya ondan küçük olup olmadığını sınar.
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);
Parametreler
left
Öğeleri karşılaştırılacak iki valarray
nesneden ilki veya bir öğesinin her öğesiyle karşılaştırılacak belirtilen bir valarray
değer.
right
Öğeleri karşılaştırılacak olan iki valarray
nesnenin ikincisi veya bir öğesinin her öğesiyle karşılaştırılacak belirtilen değer valarray
.
Dönüş değeri
valarray
Boole değerlerinin her biri şu şekildedir:
true
left
öğe veya değer karşılık gelenright
öğeye veya değere eşit veya ondan küçükse.false
left
öğe veya değer karşılık gelenright
öğeden veya değerden büyükse.
Açıklamalar
İki valarray
nesnedeki öğe sayısı eşit değilse sonuç tanımlanmamış olur.
Örnek
// 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<<
Sol, belirtilen sayıda konumun valarray
her öğesi için bitleri veya saniye valarray
ile belirtilen öğeye göre bir miktar kaydırıyor.
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);
Parametreler
left
Kaydırılacak değer veya valarray
öğeleri kaydırılacak olan değer.
right
Sol kaydırma miktarını gösteren değer veya öğeleri öğeye göre sol kaydırma miktarını gösteren değer valarray
.
Dönüş değeri
valarray
Öğeleri belirtilen miktarda sola kaydırılmış olan bir.
Açıklamalar
İmzalı sayıların işaretleri korunur.
Örnek
// 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*
Eşit boyuttaki valarray
iki nesnenin karşılık gelen öğeleri arasında veya bir valarray
ile belirtilen bir değer arasında öğeye göre ürün elde eder.
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);
Parametreler
left
Öğeleri çarpılacak olan iki valarray
nesneden ilki veya bir öğesinin her öğesiyle çarpılacak belirtilen bir valarray
değer.
right
Öğeleri çarpılacak olan iki valarray
nesnenin saniyesi veya bir öğesinin her öğesiyle çarpılacak belirtilen bir valarray
değer.
Dönüş değeri
valarray
öğeleri ve right
öğelerinin öğe açısından çarpımları left
olan bir.
Örnek
// 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+
Eşit boyuttaki valarray
iki nesnenin karşılık gelen öğeleri arasında veya bir valarray
ile belirtilen bir değer arasında öğeye göre toplam elde eder.
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);
Parametreler
left
Öğeleri eklenecek olan iki valarray
nesneden ilki veya öğesinin her öğesiyle eklenecek belirtilen bir valarray
değer.
right
Öğeleri eklenecek olan iki valarray
nesnenin ikincisi veya öğesinin valarray
her öğesiyle eklenecek belirtilen bir değer.
Dönüş değeri
valarray
öğeleri ve right
öğelerinin öğeye göre toplamı left
olan bir.
Örnek
// 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-
Eşit boyuttaki valarray
iki nesnenin karşılık gelen öğeleri arasındaki veya bir valarray
ile belirtilen bir değer arasındaki öğeye göre farkı alır.
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);
Parametreler
left
Diğer değerlerin veya valarray
valarray
nesnelerin farkı oluştururken çıkarılacağı değer olan veya minuend işlevi görecek bir değer.
right
Diğer değerlerden veya fark oluşturan nesnelerden çıkarılacak olan çıkarma işlevi görecek bir değer veya valarray
valarray
değer.
Dönüş değeri
valarray
öğeleri ve right
öğelerinin öğe açısından farkı left
olan bir.
Açıklamalar
Çıkarma işlemini açıklarken kullanılan aritmetik terminoloji:
difference = minuend - subtrahend
Örnek
// 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/
Eşit boyuttaki valarray
iki nesnenin karşılık gelen öğeleri arasında veya bir valarray
ile belirtilen bir değer arasında öğeye göre bölüm elde eder.
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);
Parametreler
left
Başka bir değerin bölündüğü veya bölüm oluşturulurken bölünecek olan değer veya valarray
valarray
bu değer.
right
Bölen görevi görecek ve başka bir değeri valarray
bölen veya valarray
bölüm oluşturan bir değer.
Dönüş değeri
valarray
Öğeleri, öğesinin tarafından bölünen right
öğe açısından bölüm left
olan bir.
Açıklamalar
Bir bölmeyi açıklarken kullanılan aritmetik terminoloji:
quotient = dividend / divisor
Örnek
// 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==
İki eşit boyutlu valarray
nesnenin karşılık gelen öğelerinin eşit olup olmadığını veya tüm valarray
öğelerinin belirtilen bir değere eşit olup olmadığını test eder.
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);
Parametreler
left
Öğeleri eşitlik açısından test edilecek iki valarray
nesneden ilki veya her valarray
öğeyle karşılaştırmak için belirtilen bir değer.
right
Öğeleri eşitlik için test edilecek iki valarray
nesnenin ikinci veya her valarray
öğeyle karşılaştırmak için belirtilen bir değer.
Dönüş Değeri
valarray
Boole değerlerinin her biri şu şekildedir:
true
karşılık gelen öğeler eşitse.false
karşılık gelen öğeler eşit değilse.
Açıklamalar
İlk şablon işleci, öğelerinin I
left[I] == right[I]
her biri olan sınıfının valarray<bool>
nesnesini döndürür. İkinci şablon işleci öğesinde I
depolarleft[I] == right
. Üçüncü şablon işleci öğesinde I
depolarleft == right[I]
.
Örnek
// 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^
Eşit boyuttaki valarray
iki nesnenin karşılık gelen öğeleri arasında veya öğe türünün bir valarray
ile belirtilen değeri arasında bit düzeyinde özel OR (XOR) alır.
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);
Parametreler
left
İlgili öğeleri bit tabanlı XOR ile birleştirilecek olan iki valarray
nesnenin ilki veya bit tabanlı XOR ile bir öğenin her öğesiyle valarray
birleştirilecek öğe türünün belirtilen değeri.
right
İlgili öğeleri bit tabanlı XOR ile birleştirilecek olan iki valarray
nesnenin ikincisi veya bit tabanlı XOR ile bir bit tabanlı XOR ile birleştirilecek öğe türünün belirtilen değeri.valarray
Dönüş değeri
valarray
öğeleri ve right
bit tabanlı XOR işleminin öğe açısından birleşimi olan left
bir.
Açıklamalar
Bit düzeyinde bir işlem, , , bool
void
double
long double
, veya diğer daha karmaşık veri türlerinde char
int
değilfloat
, yalnızca ve veri türlerindeki ve değişkenlerindeki bitleri işlemek için kullanılabilir.
Bit tabanlı özel OR (XOR) şu semantiği içerir: B 1 ve b2 bitleri verildiğinde, bitlerden tam olarak biri 1 ise b1 XOR b2 1,her iki bit de 0 ise 0 veya her iki bit 1 ise 1 olur.
Örnek
// 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|
Eşit boyutlandırılmış valarray
iki nesnenin karşılık gelen öğeleri arasında veya öğe türünün a valarray
ile belirtilen değeri arasında bit düzeyinde VEYA alır.
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);
Parametreler
left
İlgili öğeleri bit tabanlı OR ile birleştirilecek olan iki valarray
nesnenin ilki veya bit düzeyinde OR tarafından birleştirilmesi için öğe türünün belirtilen değeri bir öğesinin her öğesiyle birleştirilir valarray
.
right
İlgili öğeleri bit tabanlı OR ile birleştirilecek olan iki valarray
nesnenin ikincisi veya öğe türünün belirtilen değeri bit düzeyinde OR tarafından bir valarray
öğesinin her öğesiyle birleştirilecek.
Dönüş değeri
valarray
öğeleri ve right
bit tabanlı OR işleminin öğe açısından birleşimi olan left
bir.
Açıklamalar
Bit düzeyinde bir işlem, , , bool
void
double
long double
, veya diğer daha karmaşık veri türlerinde char
int
değilfloat
, yalnızca ve veri türlerindeki ve değişkenlerindeki bitleri işlemek için kullanılabilir.
Bit düzeyinde OR, mantıksal VEYA ile aynı doğruluk tablosuna sahiptir, ancak tek tek bit düzeyindeki veri türüne uygulanır. B 1 ve b2 bitleri verildiğinde, bitlerden en az biri 1 ise b1 VEYA b2 1,her iki bit de 0 ise 0 olur. Mantıksal VEYA operator||
, sıfır olmayan tüm değerleri olarak true
sayarak bir öğe düzeyine uygulanır ve sonuç Boole değerlerinin sonucudur valarray
. Bit düzeyinde VEYA operator|
ise bit düzeyinde işlemin sonucuna bağlı olarak 0 veya 1 dışında bir valarray
değerle sonuçlanabilir.
Örnek
// 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||
Eşit boyutlandırılmış valarray
iki nesnenin karşılık gelen öğeleri arasında veya öğe türünün bir valarray
ve belirtilen değeri arasında mantıksal VEYA alır valarray
.
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);
Parametreler
left
İlgili öğeleri mantıksal OR ile birleştirilecek olan iki valarray
nesnenin ilki veya öğesi türünün belirtilen değeri bir valarray
öğesinin her öğesiyle birleştirilecek.
right
İlgili öğeleri mantıksal OR ile birleştirilecek olan iki valarray
nesnenin ikincisi veya öğe türünün belirtilen değeri bir valarray
öğesinin her öğesiyle birleştirilecek.
Dönüş değeri
valarray
Öğeleri türünde bool
olan ve ve right
mantıksal OR işleminin öğe açısından birleşimi olan left
bir.
Açıklamalar
Mantıksal VEYA operator||
, sıfır olmayan tüm değerleri olarak true
sayarak bir öğe düzeyine uygulanır ve sonuç Boole değerlerinin sonucudur valarray
. Bunun aksine, VEYA'nın operator|
bit düzeyindeki sürümü, bit düzeyinde işlemin sonucuna bağlı olarak 0 veya 1 dışında bir valarray
değerle sonuçlanabilir.
Örnek
// 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 ).