Ver Mensaje Individual
  #4 (permalink)  
Antiguo 14/07/2011, 13:04
Avatar de Doommarine_Maxi
Doommarine_Maxi
 
Fecha de Ingreso: febrero-2011
Mensajes: 54
Antigüedad: 13 años, 10 meses
Puntos: 8
Ultima Duda

A por cierto, una ultima duda (para no crear un nuevo tema), por ejemplo, yo necesito saber el tamaño de un var*, para poder redimensionarlo progresivamente.

Ejemplo.

Código C++:
Ver original
  1. #define tamanio (dato)(sizeof(dato)/sizeof(dato[0]))
  2.  
  3.     template <typename T>
  4.     T * redim (T *array, size_t new_size)
  5.     {
  6.        T *temp = new T[new_size];
  7.        delete [] array;
  8.      
  9.        return temp;
  10.     }
  11.  
  12. int main()
  13. {
  14.           var *b = new var[1];
  15.           cout << tamanio(b) << endl;
  16.           b = redim(b, ((tamanio(b)+1));
  17.           wait(2);
  18.           cout << tamanio(b) << endl;
  19.           wait(2);
  20.           return 1;
  21. }
En este caso usar tamanio no me sirve, por que por lo que vi solo funciona con un array como: array[1], array[2], etc....

La pregunta es si se puede saber el limite de datos que soporta un array*.

o si se redimensionar un array[] (redim(array, (tamanio(array)+1)) por ejemplo).
ya que con ese tipo de datos puedo saber el tamaño usando sizeof por lo que vi.

Gracias y por favor sepan disculpar las molestias.

Última edición por Doommarine_Maxi; 14/07/2011 a las 13:06 Razón: Agregar la funcion template de sam90 de redim