Eu sou um programador Java aprendendo C/C++. Então eu sei que Java tem uma função como System.arraycopy(); para copiar um array. Eu estava pensando se existe uma função em C ou C++ para copiar um array. Eu só fui capaz de encontrar implementação para copiar um array usando para loop, ponteiros, etc. Existe alguma função que eu possa usar para copiar um array?
Já que pediu uma solução C++...
#include <algorithm>
#include <iterator>
const int arr_size = 10;
some_type src[arr_size];
// ...
some_type dest[arr_size];
std::copy(std::begin(src), std::end(src), std::begin(dest));
Você pode utilizar o memcpy()
,
void * memcpy ( void * destination, const void * source, size_t num );
memcpy()copia os valores de
numbytes do local apontado por
sourcediretamente para o bloco de memória apontado por
destino`.
Se a "destinação" e a "fonte" se sobrepõem, então você pode utilizar "memmove()memmove()
.
void * memmove ( void * destination, const void * source, size_t num );
memmove()copia os valores de
numbytes do local apontado por
sourcepara o bloco de memória apontado por
destino`. A cópia ocorre como se um buffer intermediário fosse utilizado, permitindo que o destino e a fonte se sobreponham.