c++ 智能指针开辟一个结构体指针
时间: 2024-06-17 11:03:37 浏览: 234
c++智能指针的创建
5星 · 资源好评率100%
C++智能指针是一种用于管理动态分配内存的指针类型,它可以自动地跟踪对象的生存期并释放它们所占用的内存。智能指针是一个类模板,它的实例化类型是指向某种类型的指针。
要开辟一个结构体指针,可以使用std::unique_ptr或std::shared_ptr。这两个指针类型都能够管理动态分配的内存,并且可以自动释放该内存。
以下是使用std::unique_ptr开辟一个结构体指针的示例代码:
```
#include <memory>
struct MyStruct {
int x;
int y;
};
int main() {
std::unique_ptr<MyStruct> ptr(new MyStruct{1, 2});
return 0;
}
```
以上代码中,我们使用new操作符分配了一个MyStruct类型的结构体,并将其传递给std::unique_ptr的构造函数。在程序结束时,std::unique_ptr会自动删除这个结构体,从而释放其占用的内存。
阅读全文