LINUX.ORG.RU

История изменений

Исправление eao197, (текущая версия) :

Да, имеет. Через shared_ptr.

Если shared_ptr с кастомным deleter-ом используется для возврата объекта в какой-то пул, то время жизни объекта начинает определяться не только shared_ptr, но и временем жизни пула.

Т.е. bar может хотеть что-нибудь, но тот, кто ее вызывает должен понимать, что bar хочет и можно ли это обеспечить.

Но, повторюсь, если у вас стратегия управления временем жизни, отличная от концепции shared_ptr, то он вам, естественно, не подходит.

Речь же не об этом, а о том, что у указателей, по вашим словам, шансов остаться валидными больше шансов, чем у ссылок. Я же защищаю другую точку зрения: нет никакой разницы. Зато у ссылок больше ограничений, поэтому их использование предпочтительнее.

Исходная версия eao197, :

Да, имеет. Через shared_ptr.

Если shared_ptr с кастомным deleter-ом используется для возврата объекта в какой-то пул, то время жизни объекта начинает определяться не только shared_ptr, но и временем жизни пула.

Т.е. не зная, что за объект передан в bar и по каким правилам определяется время его жизни, bar не имеет права ни сохранять, ни передавать куда-то obj.

Но, повторюсь, если у вас стратегия управления временем жизни, отличная от концепции shared_ptr, то он вам, естественно, не подходит.

Речь же не об этом, а о том, что у указателей, по вашим словам, шансов остаться валидными больше шансов, чем у ссылок. Я же защищаю другую точку зрения: нет никакой разницы. Зато у ссылок больше ограничений, поэтому их использование предпочтительнее.