Чтобы скопировать массив меньшего размера в массив большего размера в C++, вы можете использовать различные методы. Вот некоторые из наиболее часто используемых подходов:
-
Использование цикла: вы можете перебирать каждый элемент меньшего массива и присваивать его соответствующему индексу в большем массиве.
for (int i = 0; i < smallerSize; i++) { largerArray[i] = smallerArray[i]; } -
Использование алгоритма
std::copy: заголовокв C++ предоставляет функциюstd::copy, который можно использовать для копирования элементов из одного диапазона в другой.#include <algorithm> std::copy(smallerArray, smallerArray + smallerSize, largerArray); -
Использование
memcpy. Вы можете использовать функциюmemcpyиз заголовкадля выполнения побайтового копирования меньший массив в больший массив.#include <cstring> std::memcpy(largerArray, smallerArray, smallerSize * sizeof(elementType)); -
Использование
std::vectorилиstd::array: если вы используетеstd::vectorилиstd::array, вы можете напрямую присвоить меньший массив большему массиву.std::vector<int> largerVector(largerArray, largerArray + largerSize); std::vector<int> smallerVector(smallerArray, smallerArray + smallerSize); largerVector = smallerVector; // or std::array<int, largerSize> largerArray; std::array<int, smallerSize> smallerArray; largerArray = smallerArray; -
Использование
std::vectorдля изменения размера и назначения. Если вы используетеstd::vector, вы можете изменить размер большего вектора, чтобы он соответствовал размеру вектора. вектор меньшего размера, а затем присвойте ему вектор меньшего размера.std::vector<int> largerVector(largerArray, largerArray + largerSize); std::vector<int> smallerVector(smallerArray, smallerArray + smallerSize); largerVector.resize(smallerSize); largerVector.assign(smallerVector.begin(), smallerVector.end());