Chciałbym móc przekonwertować między std :: vector i jego tablicą C int * bez jawnego kopiowania danych.Konwersja między stacjami C++ std :: vector i C bez kopiowania
Czy std :: vector zapewnia dostęp do podstawowej tablicy C? Szukam coś takiego
vector<int> v (4,100)
int* pv = v.c_array();
EDIT:
Ponadto, możliwe jest zrobić coś przeciwnego, to znaczy w jaki sposób mogę zainicjować std::vector
z tablicy C bez kopiowania?
int pv[4] = { 4, 4, 4, 4};
vector<int> v (pv);
Występuje "problem" z tym związany: int pv [4] = {4, 4, 4, 4}; wektor v (pv); to faktycznie kopiuje zawartość pv na v ... po prostu musisz być tego świadomy –
fho