Короче говоря, у меня есть 2-й вектор, который мне нужен для memcpy(). Как получить указатель на первый элемент структуры данных?Memcpy a 2-d vector
Кроме того, учитывая, что он находится в непрерывной памяти, я могу просто передать этот указатель и общий размер, правильно?
Будет ли работать следующий код?
vector < vector <int> > vec;
// .. assume it's populate and built up here
int* ptr = vec[0].data(); // use this pointer
Почему «Будет ли работать следующий код?»? Ты это пробовал? –
Нет, это не смежно. Сожалею. –
@ Mark: from cplusplus.com 'Поскольку элементы в векторе гарантированно сохраняются в смежных местах хранения в том же порядке, что и представленный вектором, извлеченный указатель может быть смещен для доступа к любому элементу массива. ' – Logicrat