왜 표준 라이브러리 코드에서는 같지 않음(!=)을 (!(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;
}
댓글 입력