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