C++ 什么是‘;typename’;asio分配示例中的平均值

C++ 什么是‘;typename’;asio分配示例中的平均值,c++,c++11,asio,C++,C++11,Asio,第109行显示在 模板 类处理程序分配程序 { ... 私人: 模板友元类处理程序\u分配器;//第109行 ... } 我想知道模板是什么意思?它是不是以通用的方式模板?顺便说一句,这个例子是可行的。handler\u allocator是一个类模板,如中所示,只有在具体实例化之后,它才会产生一个实际的类。因此,这些实例化是多个的,因此每个T都有一个类。如果你想让这些不同的类成为彼此的朋友,那么这一行就是最好的选择 我想知道模板是什么意思?是模板吗< 类型名T> 不完全是。如果要添加T,则会

第109行显示在

模板
类处理程序分配程序
{
...
私人:
模板友元类处理程序\u分配器;//第109行
...
}

我想知道模板是什么意思?它是不是以通用的方式模板?顺便说一句,这个例子是可行的。

handler\u allocator
是一个类模板,如中所示,只有在具体实例化之后,它才会产生一个实际的类。因此,这些实例化是多个的,因此每个
T
都有一个类。如果你想让这些不同的类成为彼此的朋友,那么这一行就是最好的选择

我想知道模板是什么意思?是模板吗< 类型名T>


不完全是。如果要添加
T
,则会导致无效代码,因为此
T
将阴影第一个
T
。您可以添加任何其他命名标识符(比如说
s
),但无论哪种方式都不使用它,因为它在这个代码段中没有任何用处;省略参数名。看来,关键是要使
handler\u allocator
的每个实例化都成为其他所有实例化的朋友。
template <typename T>
class handler_allocator
{

...

private:
  template <typename> friend class handler_allocator; // line 109

...

}