C ++ 11 Smart Pointer Policies

Насколько я понимаю, в текущей спецификации C ++ 11 следует использовать:

  • std :: unique_ptr <> для одного владельца (большую часть времени)
  • std :: shared_ptr <> только при наличии нескольких владельцев в ациклической структуре
  • std :: weak_ptr <> экономно, только когда есть циклы которые необходимо нарушить
  • Необработанный указатель как дескриптор памяти (без владения), когда ссылки не хватает

Итак, мои вопросы:

  1. Достаточно ли этих политик или существуют ли дополнительные политики, которые {{1 }} Я должен знать?
  2. Действительно ли scoped_ptr <> и auto_ptr <> устарели?
29
задан ildjarn 1 December 2011 в 00:55
поделиться