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

Converting pImpl pointer back to caller type

本文关键字:方类型 类型 调用 回调 pImpl 指针 转换      更新时间:2023-10-16

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

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

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

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

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

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

你不是简单地做吗

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

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