class A : boost::noncopyable{
};
class B{
A & conn() const;
};
Как бы я объявить и реализовать соед() при условии, что:возвращение ссылки из метода
- соппы должны создавать и возвращать ссылку на объект типа А.
- я не могу сломать B в клиентском коде с использованием B.
- Я хочу, чтобы мой код не пропускал память, поэтому я не могу просто вернуть ссылки на объекты в куче.
Я не нашел реализации интеллектуальных указателей, которые не нарушали бы клиентский код, так как нет никакого преобразования в тип A *, и я оставил код клиента нетронутым, тогда у меня были бы утечки памяти.
С уважением,
Почему вы возвращаете ссылку? Кроме того, я не уверен, что вы имеете в виду о умных указателях; где вам нужно преобразовать в 'A *'? –
Должен ли conn() создавать новый экземпляр каждый раз, когда он вызывается? – juanchopanza
@juanchopanza: yes – user311174