Я хочу использовать BOOST Smart pointer для управления памятью в моем приложении. Но я не уверен, какой умный указатель следует использовать для динамически выделяемого массива shared_ptr
или shared_array
.
Согласно BOOST
doc Начиная с версии 1.53 Boost, shared_ptr может использоваться для хранения указателя на динамически выделяемый массив.
Поэтому мне просто интересно, с какой целью пользователь должен использовать shared_array вместо shared_ptr.
std::vector
для динамических массивов иstd::unique_ptr
для объектов? - person Maxim Egorushkin   schedule 22.09.2014std::vector
имеет тот же непрерывный макет, что и простой массив.std::vector::data()
и&vec[0]
позволяют извлечь указатель на этот массив. - person Maxim Egorushkin   schedule 22.09.2014vector
вместоshare_ptr
. - person Hemant Gangwar   schedule 22.09.2014shared_ptr
следует использовать только в крайнем случае. - person Maxim Egorushkin   schedule 22.09.2014