小编Ahm*_*war的帖子

为什么在很多C++标准库代码中将不等式测试为(!(a == b))?

这是C++标准库remove代码中的代码.为什么不平等测试if (!(*first == val))而不是if (*first != val)

 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;
 }
Run Code Online (Sandbox Code Playgroud)

c++

142
推荐指数
5
解决办法
9813
查看次数

标签 统计

c++ ×1