【发布时间】:2011-06-04 09:28:49
【问题描述】:
>>> 被定义为>> >。但是如果第一个> 关闭了一个模板参数列表会发生什么,结果应该等于> > > 还是> >>?
在下面的代码中确实很重要:
template<class T> struct X { };
void operator >>(const X<int>&, int) { }
int main() {
*new X<int>>> 1;
}
【问题讨论】:
-
我认为这取决于语言的版本,我认为 C++0x lexes >>> 与旧版本不同。
-
</>用于模板参数是语言定义中犯的众多错误之一。 -
@6502:你有更好的建议吗?通过 Pascalifying 和 LALRing 使 C++ 语法“更漂亮”的所有建议对我来说都很难看。