Tagged with smartpointers

Умные указатели в C++: boost::shared_ptr, boost::weak_ptr, boost::intrusive_ptr

Умные указатели (Smart pointers) - это, объекты, которые хранят указатели на динамическую память. Они действуют аналогично обычным указателям C++, за исключением того, что автоматически освобождают память в необходимый момент. Boost предоставляет шесть типов умных указателей:

  • scoped_ptr - некопируемый автоматический указатель на объект;
  • scoped_array - некопируемый автоматический указатель на массив;
  • shared_ptr - разделяемый указатель на объект;
  • shared_array - разделяемый указатель на массив;
  • weak_ptr - вариант разделяемого указателя, не увеличивающий счетчик ссылок;
  • intrusive_ptr - указатель со встроенным в объект счетчик ссылок

Читать дальше »