Pab*_*ruz 30
在C++中struct,a class与a 完全相同,但成员和基础的默认可见性除外.因此,如果有一种"破坏"类的方法,您可以使用完全相同的方法来"破坏"一个结构.
所以,如果你struct s { }的C++程序中有一个,你可以这样做:
s *v = new s();
delete v; // will call structure's destructor.
Run Code Online (Sandbox Code Playgroud)
除了默认的可见性和继承是公共的(而不是私有的)之外,结构与类相同.
所以你可以像这样创建和销毁结构(与类相同或内置类型):
// 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;
Run Code Online (Sandbox Code Playgroud)