![]() |
1
5
boost::shared_array 是你想要的。 编辑:
如果你想避免使用Boost,我建议你只使用
因为你表示你想用
|
![]() |
2
10
你没有。
避免使用
如果使用数组是因为需要将它传递给需要指针的代码,那么只需传递(非空)向量第一个元素的地址即可。例如:
注意,在C++ 11中,可以(也应该)使用
|
![]() |
3
1
如果您想自己做(即不使用boost),那么首先将动态数组包装在一个类中。调用类的析构函数
|
![]() |
4
1
在这种情况下,正确的boost智能指针是
boost::scoped_array
不是更著名的boost::shared_数组,因为
|
![]() |
5
0
使用auto-ptr的正确方法(使用动态分配的数组或任何其他方法)是使用其他方法。在您的案例中,可以是boost::shared_array,也可以是shared_ptr>或者shared_ptr>。在一般情况下,共享指针或唯一指针是实际智能的智能指针。停止使用自动指针。 |