Duda con structs C/C++

Iniciado por SARGE553413, 21 Junio 2013, 01:45 AM

0 Miembros y 1 Visitante están viendo este tema.

SARGE553413

#10
Gracias por las respuestas, sobre todo la del memcpy, muy interesante, no sabía que existiese esa función, gracias.

Pero supongamos que hago una funcion que devuelva un hostent*, en el cuerpo de esta función podría reservar memoria con malloc, y después usar el memcpy() sin necesidad de declarar y vector ¿cierto?

Otra cosa, si la estructura tiene dentro punteros, al usar memcpy(), ¿estos punteros apuntan correctamente no?, es decir, si tengo 2 vectores a y b, uno de tam. 20 y otro de tam. 40, en ese caso tras usar memcpy(), mis nuevos a y b tendrán también 20 y 40 de tamaño, ¿cierto?

Saludos y gracias de nuevo.

zonahurbana

Cita de: amchacon en 21 Junio 2013, 13:08 PM
Depende, en C++ se puede definir un operador = específico para la estructura [...]

Tal vez no sea muy adecuado preguntar por acá, pero es una pregunta corta:
¿Cómo puedo encontrar más acerca de estos temas?
Es decir, ¿con qué nombre lo busco?

Con ello podría determinar las acciones de usar '+=' en clases que yo mismo vaya creando, ¿verdad?
Nunca dejar de aprender es importante, más allá del ritmo que se siga ...

rir3760

Cita de: SARGE553413 en 21 Junio 2013, 18:09 PMPero supongamos que hago una funcion que devuelva un hostent*, en el cuerpo de esta función podría reservar memoria con malloc, y después usar el memcpy() sin necesidad de declarar y vector ¿cierto?
Tienes que explicarte de una forma mas clara, si puedes poner un ejemplo e indicar el lenguaje de programación que estas utilizando mejor.

Cita de: SARGE553413 en 21 Junio 2013, 18:09 PMOtra cosa, si la estructura tiene dentro punteros, al usar memcpy(), ¿estos punteros apuntan correctamente no?, es decir, si tengo 2 vectores a y b, uno de tam. 20 y otro de tam. 40, en ese caso tras usar memcpy(), mis nuevos a y b tendrán también 20 y 40 de tamaño, ¿cierto?
El tamaño de los campos depende de la declaración de la estructura, el uso de la función memcpy es tema aparte.

----

Cita de: zonahurbana en 21 Junio 2013, 18:32 PM
Cita de: amchacon en 21 Junio 2013, 13:08 PMDepende, en C++ se puede definir un operador = específico para la estructura [...]

Tal vez no sea muy adecuado preguntar por acá, pero es una pregunta corta:
¿Cómo puedo encontrar más acerca de estos temas?
Es decir, ¿con qué nombre lo busco?
El tema es "Sobrecarga de operadores en C++", una pagina sobre ello es 22 Operadores V: Operadores sobrecargados.

Un saludo
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language

pacoperico

Memcpy() copia literalmente un area de memoria en otro sitio de la memoria. Echale un ojo a su definicion para que lo tengas mas claro:

http://www.cplusplus.com/reference/cstring/memcpy/