Здравствуйте, Какая разница, Вы писали:
КР>>Голосую за первый вариант но с одной добавочкой
КР>>возвращать указатель на TSomeClass чтобы избежать лишнего копирования
КР>>TSomeClass* GetSomeClass() { return m_Impl->get(); }
КР>А еще лучше реализовать оператор ->
Хотелось бы избавить пользователя от операций с указателями, чтобы не возникало вопросов, кто и когда должен удалять объекты.
Кроме того, мне следовало уточнить, что в моей задаче функция GetSomeClass() не является методом TSomeClass, это метод другого класса (назовём его TKernel), через который пользователь может получить нужные ему экземпляры TSomeClass, поэтому её реализация выглядит примерно так:
TSomeClass TKernel::GetSomeClass()
{
return new TSomeClassImpl; // В реальности TSomeClassImpl имеет параметры.
}