C ++ Struct动态内存分配

时间:2013-07-03 00:37:05

标签: c++ c visual-c++ pointers memory-management

我有一个像这样定义的结构:

Struct Example
{
 char arr[MAX_SIZE];
};

在C风格中,我可以Example * pExample = (Example*) malloc(sizeof(Example));获取指向动态分配内存的指针。现在我想知道是否有任何方法可以使用auto_ptr智能指针执行相同的操作,而不会对数据结构进行任何更改。

谢谢

1 个答案:

答案 0 :(得分:1)

等效的C ++代码是:

Example *pExample = new Example();

但是如果你需要一个智能指针,我不推荐auto_ptr,因为它已被弃用。相反,使用类似shared_ptrstd::unique_ptr(C ++ 11)的内容:

std::shared_ptr<Example> pExample;