【发布时间】:2017-04-16 16:30:35
【问题描述】:
在 en.cppreference 的this 页面上,有一些可能实现词典比较的示例。这是基本的:
template<class InputIt1, class InputIt2>
bool lexicographical_compare(InputIt1 first1, InputIt1 last1,
InputIt2 first2, InputIt2 last2)
{
for ( ; (first1 != last1) && (first2 != last2); first1++, (void) first2++ ) {
if (*first1 < *first2) return true;
if (*first2 < *first1) return false;
}
return (first1 == last1) && (first2 != last2);
}
像(void)some_argument; 这样的IIRC 行通常用于抑制关于未使用参数的编译器警告。但是在这个函数中,所有的参数,包括first2都用到了——那么在for语句中写(void) first2++有什么意义呢?
如果 InputIt1 重载 operator,,是否有一些语法解决方法?
【问题讨论】:
标签: c++ expression