왜 표준 라이브러리 코드에서는 같지 않음(!=)을 (!(a==b))로 쓰나요?

C++ 표준 라이브러리에서 갖고 온 remove코드입니다. 왜 같지 않음을 (*first != val)이 아니라 !(*first == val)로 확인하나요?

remove외에 다른 표준 라이브러리에 이렇게 쓰는게 많던데 특별한 이유라도 있나요?

소스 코드

template <class ForwardIterator, class T>
ForwardIterator remove (ForwardIterator first, ForwardIterator last, const T& val)
 {
    ForwardIterator result = first;
    while (first!=last) {
        if (!(*first == val)) {
            *result = *first;
            ++result;
        }
        ++first;
    }
    return result;
 }

1답변

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

작성한 답변에 다른 개발자들이 댓글을 작성하거나 댓글에 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.