Набрел я в хабре на следующую статью Перевод статьи «Pimp my Pimpl», часть 2
А именно на проблемы константности методов. Обычный Pimpl
class A()
{
void some() {_a->some();}
void some() const {_a->some();}
class Impl;
Impl* _a;
}
T * operator-> () const // never throws
{
BOOST_ASSERT(px != 0);
return px;
}
T * get() const // never throws
{
return px;
}
единственный вопрос, ПОЧЕМУ ? почему не
T * get() // never throws
{
return px;
}
const T * get() cnost// never throws
{
return px;
}