【VTK】智能指针

参考自:https://blog.csdn.net/www_doling_net/article/details/8540242

智能指针有一个让人困惑的地方:当你创建一个智能指针类型的对象,然后改变它的指向,这时引用计数就会出错。例如:

vtkSmartPointerimageData = vtkSmartPointer::New();

imageData= Reader->GetOutput();

上面两行代码里,我们首先创建一个imageData,并给他分配好了内存,接着我们又把imageData指向Reader的输出,而不是一直指向我们创建的那块内存。对于这种情况,我们只要简单地调用:

vtkImageData*imageData = Reader->GetOutput();

这里没有必要使用智能指针,因为我们没有实际创建任何新的对象。
 

 

你可能感兴趣的:(VTK学习)