【发布时间】:2015-10-29 15:17:24
【问题描述】:
查看我同事的一些代码,我遇到了以下情况:
friend bool operator==<>(ValueIter<Type> const &rhs, ValueIter<Type> const &lhs);
在模板类中声明:
template<typename Type>
class ValueIter: public std::iterator<std::bidirectional_iterator_tag, Type>
谁能告诉我==<> 符号表示什么?我希望它与!= 运算符有关。
【问题讨论】:
-
前一行代码是什么?通常这是什么背景?这与模板有关。
-
在真空中,这意味着语法错误。
-
显然是等于、小于或大于运算符。它在无法比较的情况下返回 false。 ;)
-
符号
==<>表示什么? IMO 它表明如果人们不尝试通过省略“不必要的”空格来“保存”源代码中的那个字节,则可以防止多少 WTF。 -
@Barry:大多数事情不都是这样吗?
标签: c++ templates c++11 operator-overloading