Namespaces
Variants

operator==,!=,<,<=,>,>= (std::valarray)

From cppreference.net
헤더 파일에 정의됨 <valarray>
template < class T >

std:: valarray < bool > operator == ( const std:: valarray < T > & lhs, const std:: valarray < T > & rhs ) ;
template < class T >
std:: valarray < bool > operator ! = ( const std:: valarray < T > & lhs, const std:: valarray < T > & rhs ) ;
template < class T >
std:: valarray < bool > operator < ( const std:: valarray < T > & lhs, const std:: valarray < T > & rhs ) ;
template < class T >
std:: valarray < bool > operator <= ( const std:: valarray < T > & lhs, const std:: valarray < T > & rhs ) ;
template < class T >
std:: valarray < bool > operator > ( const std:: valarray < T > & lhs, const std:: valarray < T > & rhs ) ;
template < class T >

std:: valarray < bool > operator >= ( const std:: valarray < T > & lhs, const std:: valarray < T > & rhs ) ;
(1)
template < class T >

std:: valarray < bool > operator == ( const typename std:: valarray < T > :: value_type & lhsv,
const std:: valarray < T > & rhs ) ;
template < class T >
std:: valarray < bool > operator ! = ( const typename std:: valarray < T > :: value_type & lhsv,
const std:: valarray < T > & rhs ) ;
template < class T >
std:: valarray < bool > operator < ( const typename std:: valarray < T > :: value_type & lhsv,
const std:: valarray < T > & rhs ) ;
template < class T >
std:: valarray < bool > operator <= ( const typename std:: valarray < T > :: value_type & lhsv,
const std:: valarray < T > & rhs ) ;
template < class T >
std:: valarray < bool > operator > ( const typename std:: valarray < T > :: value_type & lhsv,
const std:: valarray < T > & rhs ) ;
template < class T >
std:: valarray < bool > operator >= ( const typename std:: valarray < T > :: value_type & lhsv,

const std:: valarray < T > & rhs ) ;
(2)
template < class T >

std:: valarray < bool > operator == ( const std:: valarray < T > & lhs,
const typename std:: valarray < T > :: value_type & rhsv ) ;
template < class T >
std:: valarray < bool > operator ! = ( const std:: valarray < T > & lhs,
const typename std:: valarray < T > :: value_type & rhsv ) ;
template < class T >
std:: valarray < bool > operator < ( const std:: valarray < T > & lhs,
const typename std:: valarray < T > :: value_type & rhsv ) ;
template < class T >
std:: valarray < bool > operator <= ( const std:: valarray < T > & lhs,
const typename std:: valarray < T > :: value_type & rhsv ) ;
template < class T >
std:: valarray < bool > operator > ( const std:: valarray < T > & lhs,
const typename std:: valarray < T > :: value_type & rhsv ) ;
template < class T >
std:: valarray < bool > operator >= ( const std:: valarray < T > & lhs,

const typename std:: valarray < T > :: value_type & rhsv ) ;
(3)

숫자 배열 내의 각 값을 다른 값과 비교합니다.

1) 해당하는 lhs rhs 값들에 지정된 비교 연산자를 적용하여 얻은 각 요소들을 포함하는 bool 타입의 숫자 배열을 반환합니다.

size() != v.size() 인 경우 동작은 정의되지 않습니다.

2) bool 타입의 숫자 배열을 반환하며, 각 요소는 지정된 비교 연산자를 lhsv rhs 의 해당 값에 적용하여 얻은 결과입니다.
3) bool 타입의 숫자 배열을 반환하며, 각 요소는 lhs rhsv 의 해당 값에 지정된 비교 연산자를 적용하여 얻은 결과입니다.

목차

매개변수

lhs, rhs - 비교할 숫자 배열
lhsv, rhsv - 숫자 배열 내 각 요소와 비교할 값

반환값

해당 요소들의 비교 결과를 담고 있는 bool 타입의 숫자 배열.

예외

구현 정의 예외를 던질 수 있습니다.

참고 사항

각 연산자는 다음 요구 사항이 충족되는 경우에만 인스턴스화될 수 있습니다:

  • 표시된 연산자를 타입 T 에 적용할 수 있습니다.
  • 결과 값을 명확하게 bool 로 변환할 수 있습니다.

이 함수는 반환 타입이 std::valarray 와 다르게 구현될 수 있습니다. 이 경우, 대체 타입은 다음과 같은 속성을 가집니다:

예제

#include <iostream>
#include <valarray>
int main()
{
    // valarray에서 모든 음수를 0으로 설정
    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';
    // == 연산의 valarray<bool> 결과를 단일 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

결함 보고서

다음 동작 변경 결함 보고서는 이전에 게시된 C++ 표준에 소급 적용되었습니다.

DR 적용 대상 게시된 동작 올바른 동작
LWG 3074 C++98 T 가 스칼라와 valarray 모두에서 추론되어
혼합 타입 호출이 허용되지 않음
T valarray 에서만 추론