operator==,!=,<,<=,>,>= (std::valarray)
|
헤더 파일에 정의됨
<valarray>
|
||
|
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,
|
(2) | |
|
template
<
class
T
>
std::
valarray
<
bool
>
operator
==
(
const
std::
valarray
<
T
>
&
lhs,
|
(3) | |
숫자 배열 내의 각 값을 다른 값과 비교합니다.
size() != v.size()
인 경우 동작은 정의되지 않습니다.
목차 |
매개변수
| lhs, rhs | - | 비교할 숫자 배열 |
| lhsv, rhsv | - | 숫자 배열 내 각 요소와 비교할 값 |
반환값
해당 요소들의 비교 결과를 담고 있는 bool 타입의 숫자 배열.
예외
구현 정의 예외를 던질 수 있습니다.
참고 사항
각 연산자는 다음 요구 사항이 충족되는 경우에만 인스턴스화될 수 있습니다:
-
-
표시된 연산자를 타입
T에 적용할 수 있습니다. - 결과 값을 명확하게 bool 로 변환할 수 있습니다.
-
표시된 연산자를 타입
이 함수는 반환 타입이 std::valarray 와 다르게 구현될 수 있습니다. 이 경우, 대체 타입은 다음과 같은 속성을 가집니다:
-
- const 멤버 함수 전부가 std::valarray 에 제공됩니다.
- std::valarray , std::slice_array , std::gslice_array , std::mask_array 및 std::indirect_array 은 대체 타입으로부터 생성될 수 있습니다.
- const std:: valarray < T > & 를 받는 모든 함수에 대해 begin() 과 end() 를 제외하고 (C++11부터) , 대체 타입을 받는 동일한 함수들이 추가되어야 합니다;
- 두 개의 const std:: valarray < T > & 인수를 받는 모든 함수에 대해, const std:: valarray < T > & 과 대체 타입의 모든 조합을 받는 동일한 함수들이 추가되어야 합니다.
- 반환 타입은 가장 깊이 중첩된 인수 타입을 기준으로 두 단계 이상의 템플릿 중첩을 추가하지 않습니다.
예제
#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
에서만 추론
|