Есть внешний код, из которого можно получить сишный массив (указатель на область памяти, где лежат некие объекты). Требуются разрушающие действия с этим массивом, например, сортировка. Т.е. нужно создать копию исходного массива, поработать с ней и в конце удалить. В процессе работы может случиться какая-нибудь бяка, поэтому хочется, чтобы копия удалялась автоматически.
Как это принято делать в С++? Перенести данные из исходного массива в vector? Или создать свой примитивный auto_ptr для массивов и скопировать память memcpy? Если вектор, то насколько это будет медленее? В массиве лежат структуры.