Como inicializar o vetor da matriz sem alocar mais espaço de armazenamento?

A maneira direta de inicializar um vetor de uma matriz parece ser:

int sizeArr; int * array = getArray(sizeArr);
std::vector<int> vec(array, array+sizeArr);

Aqui, estou obtendo o array de uma função que aloca o espaço na memória e definesizeArr por referência. {start edit} Infelizmente, a função não é escrita por mim e eu preciso lidar com a matriz de estilo C e convertê-la em um vetor de alguma forma. (Se possível com eficiência). {end edit}

Quando eu inicializovec, obviamente, estou alocando espaço para ele separadamente. Se não tenho intenção de usar os dados usandoarray mais, é possível de alguma forma "mover" os dados apontados porarray para o vetorvec e não alocar espaço para ele separadamente?

questionAnswers(2)

yourAnswerToTheQuestion