delete-operator

Significado de = delete después de la declaración de la función

class my_class { ... my_class(my_class const &) = delete; ... }; ¿Qué significa = delete en ese contexto? ¿Hay otros "modificadores" (distintos de = 0 y = delete)?

¿Qué hace Visual Studio con un puntero eliminado y por qué?

Un libro de C++ que he estado leyendo indica que cuando se elimina un puntero usando el operador delete la memoria en la ubic ... ndo de todos modos, ¿por qué delete no establecería automáticamente el puntero a NULL en lugar de alguna dirección aleatoria?

¿Es seguro eliminar un puntero NULO?

¿Es seguro eliminar un puntero NULO? Y es un buen estilo de codificación?

operadores delete vs delete[] en C++

¿Cuál es la diferencia entre los operadores delete y delete[] en C++?

¿Por qué uno reemplazaría los operadores predeterminados new y delete?

¿Por qué debería reemplazar el operador predeterminado new y delete con un operador personalizado new y delete? Esto es u ... uentes comenzó en primer lugar, por lo que es muy probable que su respuesta sea leída por aquellos que se les ocurrió idea.)

Eliminar un puntero en C++

Contexto: Estoy tratando de envolver mi cabeza alrededor de punteros, acabamos de verlos hace un par de semanas en la escuela ... experiencia en programación, por lo que si alguien pudiera responder a esto utilizando términos laicos, sería muy apreciado!

¿Hay alguna razón para comprobar si hay un puntero NULO antes de eliminar?

A menudo veo código heredado comprobando NULL antes de eliminar un puntero, similar a, if (NULL != pSomeObject) { dele ... lguna razón para verificar un puntero NULL antes de eliminarlo? ¿Cuál es la razón para establecer el puntero en NULL después?

Bueno, ¿cómo funciona el deleter personalizado de std::unique ptr?

De acuerdo con N3290 std::unique_ptr acepta un argumento deleter en su constructor. Sin embargo, no puedo conseguir que func ... ldar el ejemplo, es decir, que con cualquier compilador que esté utilizando, ¿realmente hace lo que se supone que debe hacer?

Complejidad temporal del operador delete [] [duplicar]

Esta pregunta ya tiene una respuesta aquí: Es Big-O de la instrucción C++ 'delete [] Q;' O(1) o O(n)? ... para cada elemento? Hace esto el operador hace lo mismo para tipos primitivos (int, etc.) y tipos definidos por el usuario?

C++ eliminar vector, objetos, memoria libre

Estoy totalmente confundido con respecto a la eliminación de cosas en C++ Si declaro una matriz de objetos y si uso la funció ... a respuesta será la misma que la anterior? vector<tempObject> *tempVector; //push objects.... tempVector->clear();

Doble libre o corrupción but ¿pero por qué?

#include <queue> using namespace std; class Test{ int *myArray; public: Test(){ myArray = new ... tiempo de ejecución "double free or corruption". Si me deshago del contenido destructor (el delete) funciona bien. ¿Qué pasa?

C++ Array de punteros: delete or delete []?

Incluya el siguiente código: class Foo { Monster* monsters[6]; Foo() { for (int i = 0; i < 6; i++) ... a versión es mucho más lógica considerando lo que estoy haciendo. De todos modos, ¿cuál es la forma "adecuada" de hacer esto?

¿Por qué mi programa se bloquea cuando incremento un puntero y luego lo elimino?

Estaba resolviendo un ejercicio de programación cuando me di cuenta de que tengo un gran malentendido sobre los punteros. Por ... ; } P. S. Soy consciente de que no hay razón para usar "nuevo" aquí, solo estoy haciendo el ejemplo lo más pequeño posible.

¿Cómo eligen los punteros inteligentes entre eliminar y eliminar []?

Considere: delete new std :: string [2]; delete [] new std :: string; Todo el mundo sabe que lo primero es un error. Si e ... ew int[2]; // Compile error delete foo; // Compile error delete [] bar; // Compile error

¿Por qué no hay una expresión de eliminación de colocación en C++?

¿Por qué C++ no tiene placement delete que corresponda directamente a la placement new, es decir, llama al destructor y llam ... ew(arena) MyType; ... //current technique p->~MyType(); operator delete(p, arena); //proposed technique delete(arena) p;

delete[] una matriz de objetos

He asignado y matriz de Objetos Objects *array = new Objects[N]; ¿Cómo debo eliminar este array? Solo delete[] array; ... Gracias ACTUALIZACIÓN: Cambié el cuerpo del bucle como delete &array[i]; Para forzar la compilación del código.

Comprobar NULL antes de eliminar un objeto con una eliminación sobrecargada

Esto surgió como uno de los comentarios de revisión de código. ¿Es una buena idea verificar NULL antes de llamar a delete p ... so de eliminación sobrecargada se encargará de la comprobación NULA, y el punto de revisión no se mantiene bien. ¿Qué opinas?

¿Por qué, en realidad, borrar un tipo incompleto es un comportamiento indefinido?

Considere este ejemplo clásico usado para explicar lo que no tiene que ver con las declaraciones forward: //in Handle.h fil ... en ese caso lo siento por la pregunta estúpida)? Si ese no es el caso, tengo curiosidad por entender la razón detrás de esto.

"delete this" en constructor

¿Qué sucede realmente cuando ejecuto este código? class MyClass { MyClass() { //do something delete this; } }

Comportamiento de malloc con delete en C++

int *p=(int * )malloc(sizeof(int)); delete p; Cuando asignamos memoria usando malloc entonces deberíamos liberarla usando ... bién si invertimos y asignamos usando new y release usando free, entonces tampoco hay error o advertencia. ¿por Qué es así?