正在将pImpl指针转换回调用方类型



我在程序中使用了pimpl习语,但我被困在了一个地方。我的代码是

Class*
Class::GetP()
{
return ClassImpl->GetP();
}

在我的ClassImpl->GetP()中,我有

ClassImpl*
ClassImpl::GetP()
{
return pClassImpl;
}

正如你所看到的,我需要将我的pImpl-bact转换为我的调用者类型。怎么走?

我不想使用任何选角
请告知

你不是简单地做吗

Class *
Class::GetP()
{
    return this;
}

因为Class::GetP()的调用方无论如何都不应该有指向内部的指针?(但是,这个方法是干什么的?它不会给调用者任何他们没有的东西。)

最新更新