1

我在我的程序中使用 pimpl idiom 并且我被困在一个地方。我的代码是

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

在我的 ClassImpl->GetP() 我有

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

如您所见,我需要将我的 pImpl bact 转换为我的调用者类型。方法是什么?

我不想使用任何铸造
请咨询

4

1 回答 1

0

你不会简单地做

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

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

于 2012-02-16T05:56:21.440 回答