structs sirve que para array c++ destructor

c++ - sirve - structs in java



¿Puedo destruir una estructura en C++? (4)

¿Hay una manera de destruir una estructura ( no una clase)?


En C ++, una struct es exactamente igual a una class con la excepción de la visibilidad predeterminada en miembros y bases. Entonces, si hay una manera de "destruir" una clase, puedes usar la misma manera exacta de "destruir" una estructura.

Entonces, si tiene una struct s { } en su programa de C ++, puede hacer esto:

s *v = new s(); delete v; // will call structure''s destructor.


Estructuras y clases son lo mismo, solo hay una diferencia técnica (el campo de acceso predeterminado) que ocurre debido a una diferencia conceptual entre las dos. Sin embargo, cada estructura, como una clase, llama a sus constructores cuando se deben crear los objetos, y su destructor cuando su campo de visibilidad finaliza.

En C ++ las estructuras no son menos poderosas que las clases.


Excepto por el especificador de acceso predeterminado ("privado" para la clase, "público" para la estructura), todo lo demás es igual en la clase y estructura C ++. Entonces, SI, puedes escribir y usar los destructores en struct de la misma manera que se hace en clase.


Las estructuras son idénticas a las clases, excepto que la visibilidad predeterminada y la herencia son públicas (en lugar de privadas).

Por lo tanto, puede crear y destruir estructuras como esta (igual que una clase o un tipo incorporado):

// Create on the heap, need to manually delete. MyStruct *const pStruct = new MyStruct(); delete pStruct; // Created on the stack, automatically deleted for you. MyStruct struct;