Dev - C++ - PERDIDA INESPERADA DE MEMORIA DINAMICA

 
Vista:
Imágen de perfil de tom
Val: 141
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

PERDIDA INESPERADA DE MEMORIA DINAMICA

Publicado por tom (74 intervenciones) el 22/05/2022 01:12:03
HOLA
TENGO UN PROBLEMA MUY IMPORTANTE PARA MI
TENGO UNA IMPLEMENTACION PROPIA DEL OBJETO STD::VECTOR Y PIERDE SU MEMORIA DINAMICA EN ALGUN MOMENTO QUE DESCONOZCO.
MI TEORIA ES QUE EL OPERADOR DE COPIA O EL DE ASIGNACION LIBERAN LA MEMORIA Y EN ALGUN MOMENTO OTRO PROCESO EXTERNO RESERVA ESE ESPACIO DE MEMORIA Y EXT PUEDE SEGUIR LEYENDO DATOS PERO YA SERIAN DATOS INUTILES.
SEGURAMENTE ES UN TEMA DE SINTAXIS.
AQUI HAY UNA PORCION DE LA CLASE
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
TEMPLATE <TYPENAME T>
STRUCT EXT{
	PRIVATE:
		int SIZE;
		int CAPACITY;
		T* POINTER;
 
		// RESERVE DINAMIC MEMORY FOR NEW EXTENSOR
		FRIEND VOID RESERVE(EXT<T> &E, int CAPACITY){
			IF(CAPACITY < 0) exit(-1);
			E.POINTER = NEW T[CAPACITY];
			IF( !E.POINTER ) exit(-1);
		}
 
		BOOL IAR; // IS A REFERENCE
 
	PUBLIC:
 
		EXT(){
			THIS->SIZE = 0;
			THIS->CAPACITY = 0;
			RESERVE(*THIS, THIS->CAPACITY);
			THIS->IAR = false;
		}
 
		EXT(int CAPACITY){
			THIS->SIZE = 0;
			THIS->CAPACITY = CAPACITY;
			RESERVE(*THIS, THIS->CAPACITY);
			THIS->IAR = true;
		}
 
		~EXT(){
			IF( !THIS->IAR )
				DELETE[] THIS->POINTER;
		}
 
		EXT<T>& OPERATOR=(EXT<T> E){
			FREE(*THIS);
			COPY(*THIS, E);
			RETURN *THIS;
		}
LA SUBRUTINA FREE() LIBERA LA MEMORIA DINAMICA DE EXTMICA Y ESTABLECE EL TAMAÑO DE EXT A CERO.

AQUI ESTA LA DOCUMENTACION DE SOBRECARGA DE OPERADORES, HONESTAMENTE NO ENTENDÌ NDA ACERCA DE LOS OPERADORES DE COPIA Y DE ASIGNACION.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de tom
Val: 141
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

PERDIDA INESPERADA DE MEMORIA DINAMICA

Publicado por tom (74 intervenciones) el 22/05/2022 04:20:39
DOCUMENTACION DE SOBRECARGA DE OPERADORES:
https://en.cppreference.com/w/cpp/language/operators
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar