<div dir="ltr"><br>Hi Frank,<div><br></div><div>Yes, the output is a normal pointer, and the changer just gets the</div><div>pointer to the output, it doesn't get a copy of the output.</div><div><br></div><div>However: when the changer gets the output, it increments the</div><div>reference count of the output.  So now there are two references</div><div>to the output: one from the reader, and one from the changer.</div><div>So the existence of the output depends on both the reader and</div><div>the changer: the output will not destruct until both the reader and</div><div>the changer have destructed.</div><div><br></div><div>As I stated in my previous email, the important point is that the</div><div>reference count is stored within the VTK object itself.  An object</div><div>doesn't need a smart pointer in order to have a reference count.</div><div>Even a VTK object pointed to by a normal pointer will have a</div><div>reference count that can be incremented/decremented by other</div><div>VTK objects.</div><div><br></div><div> David</div><div><br></div><div><div class="gmail_quote"><div dir="ltr">On Fri, Nov 2, 2018 at 6:28 PM Franks <<a href="mailto:masterwangzx@gmail.com">masterwangzx@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Thank you for getting back to me. I still have some question about it. As to VTK/Tutorials, it may run like you said when I write <i>vtkSmartPointer<u></u> pd = Reader->GetOutput();</i> . However, the output is just a normal pointer, so it may depend on the reader. I may misunderstand the tutorials, you can check out this link <a href="https://www.vtk.org/Wiki/VTK/Tutorials/SmartPointers" rel="nofollow" link="external" target="_blank">https://www.vtk.org/Wiki/VTK/Tutorials/SmartPointers</a> (under the title <i>Getting an Object with a Smart Pointer</i> ). Does the changer get a copy of output?
<br>
<br>Thank you for your attention to this matter.
<br>   Frank
<br>
</blockquote></div></div></div>