学习代码:
#include <vtkSmartPointer.h>
#include <vtkBMPReader.h>
#include <vtkImageData.h>
#include <vtkObject.h>
vtkSmartPointer<vtkImageData> MyFunction()
{
vtkSmartPointer<vtkImageData> myObject = vtkSmartPointer<vtkImageData>::New();
std::cout<<"MyFunction::myObject reference count = "<<myObject->GetReferenceCount()<<std::endl;
return myObject;
}
int main(int argc, char* argv[])
{
vtkSmartPointer<vtkBMPReader> reader = vtkSmartPointer<vtkBMPReader>::New();
reader->SetFileName("C:\\Users\\Administrator\\Desktop\\vtk1\\Examples\\Examples\\Chap02\\data\\VTK-logo.bmp");
reader->Update();
std::cout<<"Reference Count of reader->GetOutput (Before Assignment) = "
<<reader->GetOutput()->GetReferenceCount()<<std::endl;
vtkSmartPointer<vtkImageData> image1 = reader->GetOutput();
std::cout<<"Reference Count of reader->GetOutput (Assign to image1) = "
<<reader->GetOutput()->GetReferenceCount()<<std::endl;
std::cout<<"Reference Count of image1 = "
<<image1->GetReferenceCount()<<std::endl;
vtkSmartPointer<vtkImageData> image2 = reader->GetOutput();
std::cout<<"Reference