Вы можете использовать shared_array
:
boost::shared_array<char> ptr(new char[buff_length]);
Любая причина, почему std::string
или std::vector<char>
не подходит для вашей ситуации?
<Ч />
Обратите внимание, что в C ++ 11 вы можете использовать следующее:
std::unique_ptr<char[]> ptr(new char[buff_length]);
std::unique_ptr
имеет специализацию для работы с массивами. Я ошибочно полагал, что boost::shared_ptr
тоже так делал, но, очевидно, это было неправильно.