Resultados de la búsqueda a petición "delete-operator"

4 la respuesta

¿Por qué hay una eliminación [] en C ++?

¿Por qué hay undelete[]? Según tengo entendido, se comportará de manera diferente para las matrices. Sin embargo, ¿por qué existe realmente? Solo hay gratis en C y no free_array. También en sintaxis la única diferencia entredelete var ydelete ...

3 la respuesta

Suicidio orientado a objetos o eliminar esto;

El siguiente código compilado con MSVC9.0 se ejecuta y generaIncinerador de basurascuatro veces, lo cual es lógico. #include <iostream> class SomeClass { public: void CommitSuicide() { delete this; } void Reincarnate() { this->~SomeClass(); new ...

5 la respuesta

Eliminar un puntero a puntero (como matriz de matrices)

Tengo esto en mi código: double** desc = new double* [size_out]; for (int i = 0; i < size_out; i++) desc[i] = new double [size_in];¿Cómo elimino esto?desc? Deberia hacer: delete [] desc;o for (int i=0; i<size_out; i++) delete [] desc[i]; ...

3 la respuesta

¿Por qué no se llama a una eliminación sobrecargada cuando se lanza una excepción en un destructor?

He escrito el siguiente código que sobrecarga elnew ydelete operadores y lanza una excepción en el destructor. Cuando se lanza la excepción, ¿por qué está el código en eldelete operador no ejecutado (y "adiós" impreso)? Si no se debe ejecutar, ...

4 la respuesta

Legalidad de usar el operador eliminar en un puntero obtenido de la colocación nueva

Estoy seguro de que este código debería ser ilegal, ya que claramente no funcionará, pero parece estar permitido por el C ++ 0x FCD. class X { /* ... */}; void* raw = malloc(sizeof (X)); X* p = new (raw) X(); // according to the standard, the ...

1 la respuesta

El parámetro "tamaño" del operador miembro new [] aumenta si la clase tiene destructor / delete []

4 clases en los siguientes códigos: A, B, C y D. Todos tienen un miembrooperator new[]. Además, B tiene un constructor;C tiene un destructor;D tiene un miembrooperator delete[].El parámetrosize de miembrooperator new[] y elsizeof de las 4 ...

6 la respuesta

Eliminar una matriz de punteros

Hacedelete[] a, dóndea es una matriz de punteros asignados dinámicamente, ejecutardelete para cada puntero en la matriz? Supongo que ejecuta destructor para matrices con clases definidas por el usuario, pero ¿qué sucede con los punteros?

5 la respuesta

eliminar [] una matriz de objetos

He asignado una matriz de objetos Objects *array = new Objects[N];¿Cómo debo eliminar esta matriz? Sólo delete[] array;o con iterar sobre los elementos de la matriz? for(int i=0;i<N;i++) delete array[i]; delete[];Gracias ACTUALIZAR: Cambié ...

2 la respuesta

¿Por qué la función de conversión de operador void * () se agrega a las clases de flujo de C ++?

Hay una función de conversiónoperator void*() consten clases de flujo de C ++. para que todos los objetos de flujo se puedan convertir implícitamente avoid*. Durante la interacción con los programadores en SO, me sugieren queno usevoid* a menos ...

4 la respuesta

¿Qué le sucede a una dirección después de que se le haya aplicado el operador de eliminación en C ++?

Si yodelete un puntero como el siguiente, por ejemplo: delete myPointer;Y después de esonoasignar0 al puntero de la siguiente manera: myPointer = 0; //skipped thisSerámyPointer estar apuntando a otra dirección de memoria?