我在程序中使用了pimpl习语,但我被困在了一个地方。我的代码是
Class*
Class::GetP()
{
return ClassImpl->GetP();
}
在我的ClassImpl->GetP()中,我有
ClassImpl*
ClassImpl::GetP()
{
return pClassImpl;
}
正如你所看到的,我需要将我的pImpl-bact转换为我的调用者类型。怎么走?
我不想使用任何选角
请告知
你不是简单地做吗
Class *
Class::GetP()
{
return this;
}
因为Class::GetP()
的调用方无论如何都不应该有指向内部的指针?(但是,这个方法是干什么的?它不会给调用者任何他们没有的东西。)