【发布时间】:2021-09-14 18:10:18
【问题描述】:
我正在查看以下代码:
template <typename T, typename Tag>
class __attribute__((trivial_abi)) OSTaggedSharedPtr: public libkern::intrusive_shared_ptr<T, intrusive_tagged_osobject_retainer<Tag> > {
using libkern::intrusive_shared_ptr<T, intrusive_tagged_osobject_retainer<Tag> >::intrusive_shared_ptr;
};
我知道有一个新类 OSTaggedSharedPtr 继承自 libkern::instrusive_shared_ptr。我不确定继承后的模板是做什么的,特别是这部分:<T, intrusive_tagged_osobject_retainer<Tag> >。
同样的混淆也适用于使用 lib kern::intrusive_shared_ptr 模板,特别是 <T, intrusive_tagged_osobject_retainer<Tag> >。我很确定这个问题已经得到解答,但我在 google 中找不到该问题的正确措辞,很抱歉。
【问题讨论】:
-
intrusive_shared_ptr 是一个模板类cplusplus.com/doc/oldtutorial/templates
标签: c++ templates inheritance