В C ++ идиоматический контейнер для использования вместо массивов - std::vector
. С vector
или с массивами вы можете использовать функцию std::copy()
из заголовка <algorithm>
, которая является предпочтительным способом копирования контейнеров любого вида в C ++. С vector
:
std::vector<int> updatingValues, valuesToGrab;
// Ensure the vector has sufficient capacity to accept values.
updatingValues.resize(361);
// Copy values from the array into the vector.
std::copy(values, values + 361, updatingValues.begin());
// Source begin & end; Destination begin.
// Copy one vector to another.
valuesToGrab = updatingValues;
С массивами:
std::copy(valuesToGrab, valuesToGrab + 361, updatingValues);
Опять же, просто с массивами, если вы хотите больше стиля C, вы можете использовать функцию стандартной библиотеки C memcpy()
, из <cstdlib>
:
memcpy(valuesToGrab, updatingValues, 361 * sizeof(int));
// Destination; Source; Number of bytes.
С memcpy()
(и его двоюродным братом, memmove()
) вы должны быть осторожны с размером копируемых элементов; если вы скажете 361
вместо 361 * sizeof(int)
, вы скопируете 361 байт, а не 361 int
с байтов - большая разница.