elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Memoria dinamica?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: Memoria dinamica?  (Leído 5,877 veces)
amchacon


Desconectado Desconectado

Mensajes: 1.211



Ver Perfil
Re: Memoria dinamica?
« Respuesta #10 en: 30 Abril 2014, 12:22 pm »

Buenas!!  ::)
Bueno ya que me has empicado me vas a tener que ayudar jejej
Como aun no se na de template ni lo que hacen no se que hace T* &array de void Realloc(T* &array,int tam,int tam_final)

¿¿espera una plantilla??La cosa es que aun no llegue a tanto jeje :laugh:
Como ves estoy aun en las tablitas del colegio primario ^^ :laugh:
Salu
Lo de la T es para hacer la función génerica, es decir, que sirva para cualquier tipo de dato. Eso para ti es transparente, tu solo tienes que llamar a la función con normalidad.

Si te resulta más fácil, puede sustituirlo por int*:
Código
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. void Realloc(int* &array,int tam,int tam_final)
  5. {
  6.   if (tam_final < tam) // se reduce el array
  7.   {
  8.       for (int i = tam;i >= tam_final;i--) delete &array[i];
  9.   }
  10.   else if (tam_final > tam) //se aumenta el array
  11.   {
  12.       int* aux = new T[tam_final](); // creo un array nuevo
  13.  
  14.       for (int i = 0; i < tam;i++)
  15.       {
  16.           aux[i] = array[i]; // copio el contenido del array anterior
  17.       }
  18.  
  19.       delete[] array; // borro el array viejo
  20.  
  21.       array = aux; // el puntero apunta al nuevo array
  22.   }
  23. }
  24.  
  25. int main()
  26. {
  27.   int* array = new int[4];
  28.  
  29.   for (int i = 0; i < 4;i++) array[i] = i+1;
  30.  
  31.   Realloc(array,4,10); // redimensiono el array de 4 a 10
  32.  
  33.   array[6] = 3; // puedo hacerlo porque he redimensionado el array ^^
  34.  
  35.   return 0;
  36. }

Lo que pasa esque ahora solo sirve para arrays de int. Ya no sirve para cualquier array :(


En línea

Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar
vangodp


Desconectado Desconectado

Mensajes: 455



Ver Perfil
Re: Memoria dinamica?
« Respuesta #11 en: 30 Abril 2014, 12:35 pm »

Gracias compañeros!
O sea que sirve para pasar datos de diferentes tipos, un char un int..eso es lo que no sabia para que servia.
Ya con esa información facilita mucho para mi =D
¡Muchas muchas gracias!! Que pasen un buen día.  ;-)
Buscare leer algo sobre los temp :)


En línea

Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Memoria dinámica
Programación C/C++
eleon 6 5,116 Último mensaje 24 Enero 2012, 22:17 pm
por Eternal Idol
Memoría dinámica
Programación C/C++
Developer Diego 4 2,742 Último mensaje 20 Mayo 2014, 23:10 pm
por Developer Diego
Ayuda con memoria dinamica
Programación C/C++
d00ze13 3 2,302 Último mensaje 24 Mayo 2014, 10:02 am
por eferion
pilas en memoria dinamica en c
Programación C/C++
marcelom 1 1,968 Último mensaje 6 Marzo 2015, 20:16 pm
por ivancea96
Problemas de perdida de memoria con memoria dinamica
Programación C/C++
ing_maipu 1 2,367 Último mensaje 28 Octubre 2017, 18:48 pm
por CalgaryCorpus
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines