20220610 ¿Valor de retorno del destructor de C++?

comenzar

Pensé en una pregunta hoy: el destructor obviamente no tiene valor de retorno, ¿por qué se puede acceder con un puntero al instanciar una clase?
Después de algunas búsquedas, se concluye que en realidad es la función de la nueva palabra clave.

El texto original es el siguiente

Contenido de referencia: https://blog.csdn.net/raoqiang19911215/article/details/51286869

El proceso de clase a objeto es el proceso de creación de instancias. A menudo veo dos formas, una es así:

class A{
    
    
	。。。
}

void main(){
    
    
	A a;
}

El otro es este:

class A{
    
    
	。。。
}

void main(){
    
    
	A *a=new A();
}
//————————————————
//版权声明:本文为CSDN博主「raoqiang19911215」的原创文章,遵循CC 4.0 BY-SA#版权协议,转载请附上原文出处链接及本声明。
//原文链接:#https://blog.csdn.net/raoqiang19911215/article/details/51286869

Uno de los dos métodos anteriores puede verse como la definición de un objeto en la función principal, y el otro puede verse como un nuevo objeto. Las principales diferencias son las siguientes:

1. Su espacio de almacenamiento es diferente, defina directamente un objeto en la pila y coloque un nuevo objeto en el montón

2. Las ocasiones de uso son diferentes. Dado que la pila es pequeña y se usa principalmente para almacenar variables temporales, el ciclo de vida de definir un objeto en el ámbito de {} ha terminado. El nuevo objeto se coloca en el montón y su puntero se puede devolver a través de la función, y debe destruir manualmente este objeto o habrá una pérdida de memoria

3. Las características de nuevo:

New crea un objeto de clase que necesita recibir un puntero, se inicializa un lugar, varios lugares usan
new para crear un objeto de clase, se requiere eliminar para destruir
el nuevo objeto creado y el espacio de almacenamiento dinámico se usa directamente, mientras que el objeto de clase local no se define con nuevo, pero se usa el espacio de la pila.El
nuevo puntero de objeto tiene una amplia gama de usos, como un valor de retorno de función, parámetro de función, etc.,
las llamadas frecuentes no son adecuadas para nuevos, al igual que una nueva aplicación y liberación de la memoria

Supongo que te gusta

Origin blog.csdn.net/Vissence/article/details/125216225
Recomendado
Clasificación