emsp;emsp;C++11改进了编译器的解析规则,尽可能的将多个右尖括号(>)解析称模板参数结束符,方便我们编写模板相关的代码。
1.模板的右尖括号
emsp;emsp;在C++98/03的泛型编程中,模板实例化有一个很繁琐的地方,那就是连续两个右尖括号(>>)会被变异器解释称右移操作符,而不是模板参数表的结束。
emsp;emsp;代码清单1-1
代码清单1-1 C++98/03中不支持连续两个右尖括号的示例
template <typename T>
struct Foo
{
typedef T type;
};
template <typename T>
class A
{
//...
};
int main(void)
{
Foo<A<int>>::type xx;//编译出错
return 0;
}
标签:03,emsp,C++,细节,模板,Foo,尖括号
From: https://www.cnblogs.com/ydqblogs/p/18374962