operators
运算符=,%21=,<,<=,>,>=std::valArray
template< class T > valarray | (1) | |
---|---|---|
template< class T > valarray<bool> operator==( const T& lhsv, const valarray<T>& rhs template< class T > valarray<bool> operator!=( const T& lhsv, const valarray<T>& rhs template< class T > valarray<bool> operator<( const T& lhsv, const valarray<T>& rhs template< class T > valarray<bool> operator<=( const T& lhsv, const valarray<T>& rhs template< class T > valarray<bool> operator>( const T& lhsv, const valarray<T>& rhs template< class T > valarray<bool> operator>=( const T& lhsv, const valarray<T>& rhs | (2) | |
template< class T > valarray<bool> operator==( const valarray<T>& lhs, const T& rhsv template< class T > valarray<bool> operator!=( const valarray<T>& lhs, const T& rhsv template< class T > valarray<bool> operator<( const valarray<T>& lhs, const T& rhsv template< class T > valarray<bool> operator<=( const valarray<T>& lhs, const T& rhsv template< class T > valarray<bool> operator>( const valarray<T>& lhs, const T& rhsv template< class T > valarray<bool> operator>=( const valarray<T>& lhs, const T& rhsv | (3) | |
将数字数组中的每个值与另一个值进行比较。
1%29返回一个数字数组bool
中的每个元素都是通过将指示的比较运算符应用到相应的lhs
和rhs
如果size() != v.size()
...
2%29返回一个数字数组bool
包含每个元素,每个元素都是通过将指示的比较运算符应用到lhsv
的相应值rhs
...
3%29返回一个数字数组bool
中的每个元素都是通过将指示的比较运算符应用到相应的lhs
和rhsv
...
参数
lhs, rhs | - | numeric arrays to compare |
---|---|---|
lhsv, rhsv | - | values to compare to each element within a numeric array |
返回值
的数字数组bool
包含相应元素的比较结果。
例外
%280%29
注记
只有满足下列要求,才能实例化每个操作符:
- 指定的运算符可应用于
T
- 结果值可以毫不含糊地转换为
bool
...
函数的返回类型与std::valarray
在这种情况下,替换类型具有以下属性:
- 全
const
成员职能std::valarray
提供。
std::valarray
,,,std::slice_array
,,,std::gslice_array
,,,std::mask_array
和std::indirect_array
可以从替换类型构造。
- 所有接受类型参数的函数
const
std::valarray
&
除begin()
和end()
%28,因为C++14%29也应该接受替换类型。
- 接受两个类型参数的所有函数
const
std::valarray
&
应该接受每一个组合const
std::valarray
&
以及替代型。
- 返回类型不会在最嵌套的参数类型上添加两个以上的模板嵌套级别。
例
二次
#include <iostream>
#include <valarray>
int main()
{
// zero all negatives in a valarray
std::valarray<int> v = {1, -1, 0, -3, 10, -1, -2};
std::cout << "Before: ";
for(auto n: v) std::cout << n << ' '; std::cout << '\n';
v[v < 0] = 0;
std::cout << "After: ";
for(auto n: v) std::cout << n << ' '; std::cout << '\n';
// convert the vector<bool> result of == to a single bool
std::valarray<int> a = {1,2,3};
std::valarray<int> b = {2,4,6};
std::cout << "2*a == b is " << std::boolalpha
<< (2*a == b).min() << '\n';
}
二次
产出:
二次
Before: 1 -1 0 -3 10 -1 -2
After: 1 0 0 0 10 0 0
2*a == b is true
二次
© cppreference.com
在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。