C++ 什么是‘;typename’;asio分配示例中的平均值
第109行显示在C++ 什么是‘;typename’;asio分配示例中的平均值,c++,c++11,asio,C++,C++11,Asio,第109行显示在 模板 类处理程序分配程序 { ... 私人: 模板友元类处理程序\u分配器;//第109行 ... } 我想知道模板是什么意思?它是不是以通用的方式模板?顺便说一句,这个例子是可行的。handler\u allocator是一个类模板,如中所示,只有在具体实例化之后,它才会产生一个实际的类。因此,这些实例化是多个的,因此每个T都有一个类。如果你想让这些不同的类成为彼此的朋友,那么这一行就是最好的选择 我想知道模板是什么意思?是模板吗< 类型名T> 不完全是。如果要添加T,则会
模板
类处理程序分配程序
{
...
私人:
模板友元类处理程序\u分配器;//第109行
...
}
我想知道模板
handler\u allocator
是一个类模板,如中所示,只有在具体实例化之后,它才会产生一个实际的类。因此,这些实例化是多个的,因此每个T
都有一个类。如果你想让这些不同的类成为彼此的朋友,那么这一行就是最好的选择
我想知道模板不完全是。如果要添加
T
,则会导致无效代码,因为此T
将阴影第一个T
。您可以添加任何其他命名标识符(比如说s
),但无论哪种方式都不使用它,因为它在这个代码段中没有任何用处;省略参数名。看来,关键是要使handler\u allocator
的每个实例化都成为其他所有实例化的朋友。
template <typename T>
class handler_allocator
{
...
private:
template <typename> friend class handler_allocator; // line 109
...
}