【发布时间】:2014-08-10 22:49:39
【问题描述】:
对于调试情况,我需要实现自己的 shared_ptr 类版本。通常,当我使用 std::shared_ptr 时,为了方便起见,我使用 typedef:
typedef std::shared_ptr<myclass> myclassptr;
在调试情况下,我想用一些额外的调试方法而不是使用 typedef 来扩展 shared_ptr 模板,而不是类 myclass:
class myclassptr : public std::shared_ptr<myclass>
{
public:
// some special tracking methodes
};
但这给我留下了一个无法编译的演员:
myclassptr mcp=std::make_shared<myclass>();
我已经将 make_shared 封装在一个工厂函数中,例如:
myclassptr createMyClass()
{
return std::make_shared<myclass>();
}
但我怎样才能获得我的调试版本?
【问题讨论】:
-
有转发到基地的演员吗?
-
@Xeo Uaaa,我忘记了。
标签: templates c++11 shared-ptr