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

조회수 2251회

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 답변

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)