相关疑难解决方法(0)

是否需要为std :: auto_ptr分配空指针

上一篇,我有以下代码.

double* a[100];
for (int i = 0; i < 100; i++) {
    // Initialize.
    a[i] = 0;
}
Run Code Online (Sandbox Code Playgroud)

初始化数组a为0 的目的是,当我迭代删除元素时a,一切都会正常工作,即使没有为元素分配的内存a.

for (int i = 0; i < 100; i++) {
    // Fine.
    delete a[i];
}
Run Code Online (Sandbox Code Playgroud)

现在,我想利用auto_ptr,以避免手动调用删除.

std::auto_ptr<double> a[100];
for (int i = 0; i < 100; i++) {
    // Initialize. Is there any need for me to do so still?
    a[i] = std::auto_ptr<double>(0);
}
Run Code Online (Sandbox Code Playgroud)

我想知道,是否需要初始化auto_ptr以保存空指针?我的感觉是否定的.我只是想确认这一点,以便没有任何陷阱.

c++

2
推荐指数
2
解决办法
3924
查看次数

标签 统计

c++ ×1