第109行显示在asio allocation example
中template <typename T>
class handler_allocator
{
...
private:
template <typename> friend class handler_allocator; // line 109
...
}
我想知道模板
答案 0 :(得分:2)
handler_allocator
是一个类模板,例如,只有在具体实例化后,它才会生成实际的类。因此,这些实例化是多重的,因此每个T
最终都有一个类。如果您想让这些不同的类彼此friend
互斥,那么此行就是正确的选择。
我想知道模板
是什么意思?是模板< 类型名称T> ...?
不完全是。如果添加T
,则将导致无效代码,因为此T
将 shadow 遮盖前T
。您可以添加任何其他命名的标识符(例如S
),但是由于没有任何作用,因此它不能工作,因为此代码段中没有使用它。