boost :: shared_array - это то, что вы ищете.
EDIT:
Если вы хотите избежать использования boost, я бы порекомендовал просто использовать std::vector
, они находятся под массивом, и вам не нужно беспокоиться о распределении памяти. На самом деле это лучшее решение, чем shared_array
в любом случае.
Поскольку вы указываете, что хотите использовать auto_ptr
, вам не нужна модель подсчета ссылок и владения shared_array
. Так что просто используйте std :: vector , так как они предназначены для замены динамически размещаемых массивов, и это действительно то, чем вы пытаетесь управлять с помощью auto_ptr
.