Я использую идиом pimpl в своей программе, и я застрял в одном месте. Мой кодПреобразование указателя pImpl обратно в вызывающий тип
Class*
Class::GetP()
{
return ClassImpl->GetP();
}
В моих ClassImpl-> GetP() У меня есть
ClassImpl*
ClassImpl::GetP()
{
return pClassImpl;
}
Как вы можете видеть, что я должен преобразовать мой Pimpl BacT к моему типу вызывающего абонента. Каков путь?
Я не хочу использовать любой отливку
Пожалуйста, советы
В чем причина нежелания использовать какое-либо литье? –
Что означает 'GetP'? Зачем тебе это? – tzaman
GetP фактически возвращает новый instancde какого-либо типа, который создается на основе параметра, переданного getP, также я могу использовать reintepret cast, но у него есть некоторые накладные расходы. Я думаю, что решение прост и мне что-то не хватает – Yogi