Преобразование между C ++ std :: vector и C массив без копирования
Я хотел бы иметь возможность конвертировать между std :: vector и лежащим в его основе C массивом int * без явного копирования данных.
Предоставляет ли std :: vector доступ к базовому массиву C? Я ищу что-то подобное
vector<int> v (4,100)
int* pv = v.c_array();
РЕДАКТИРОВАТЬ:
Кроме того, возможно ли сделать обратное, то есть как бы я инициализироватьstd::vector
из массива C без копирования?
int pv[4] = { 4, 4, 4, 4};
vector<int> v (pv);