Ver Mensaje Individual
  #7 (permalink)  
Antiguo 21/03/2013, 22:17
ElPatoGarrido
 
Fecha de Ingreso: noviembre-2011
Mensajes: 50
Antigüedad: 12 años, 5 meses
Puntos: 3
Respuesta: [C++] Duda con new y delete o delete[]

Cita:
Iniciado por vosk Ver Mensaje
La idea es simple: para cada new necesitas un delete, y si usas un new
Para hacerlo bien faltan las comprovaciones de error, y asignar el valor nulo a las variables nulas. Aunque creo que seria mas apropiado dejar que la funcion cree tambien las filas en vez de solo las columnas no?
¿Como podria hacer las comprobaciones de error?.

Lo segundo, no hacia que las funciones crearan las filas por que al hacer eso me pasaban cosas raras, en Ubuntu y WIndows me compilaba sin ningun error (solo con una advertencia), pero al ejecutarlo a veces veia mensajes de error raros y bueno, me funciono bastante raro la cosa, pero como regla general y depues de varios intentos encontre que si hacia la funcion asi como lo tengo, pero ahora que leo tus mensajes pienso que puede ser eso de las comprobaciones e inicializar los int **m, int **r, etc... en NULL (o quizas el comportamiento extraño era por otra cosa ahora que lo pienso pero no lo tengo claro todavia). Lo de asignarles NULL despues de los delete[] no serian necesarios en mi programa ya que libero la memoria justo antes del return de la funcion main.

Saludos y gracias por el aporte.

EDIT: Solo edito esto para decir que ya probe inicializandos las matrices en NULL, y ahora me sigue dando errores en windows, y en ubuntu compilando solo con terminal me funciona bien, el error que leo en windows dice "terminate called after trowhing an instance of std::bad_alloc. This app has requested.... bla bla bla", asi que debe ser algo de eso de corroborar o hacer algo mas aparte, pero me parece muy extraño el tener comportamientos diferentes con el mismo codigo, nunca me habia pasado xD. Quiero arreglarlo, me hace sentir que el codigo no es estable...

Última edición por ElPatoGarrido; 21/03/2013 a las 22:48