Memmove (C)
Quiero saber por qué ponen "(char *)" antes y después del destino y la fuente. Es un programa genérico por lo que no se trabaja con tipos de datos específicos.
memmove((char*)destino,(char*)origen,tamElemento)
Gracias
memmove((char*)destino,(char*)origen,tamElemento)
Gracias
No necesitas los moldes (char*), la función memmove toma como parámetros punteros a void.
Por ejemplo, acá escribo una función template "copiar" que recibe punteros a cualquier cosa y devuelve un puntero a la última posición del resultado:
template <typename T>
T* copiar(const T* primero, const T* ultimo, T* resultado) {
memmove(resultado, primero, sizeof(T) * (ultimo - primero));
return resultado + (ultimo - primero);
}
// Alejandro
Por ejemplo, acá escribo una función template "copiar" que recibe punteros a cualquier cosa y devuelve un puntero a la última posición del resultado:
template <typename T>
T* copiar(const T* primero, const T* ultimo, T* resultado) {
memmove(resultado, primero, sizeof(T) * (ultimo - primero));
return resultado + (ultimo - primero);
}
// Alejandro
