c++ - Is calling new twice on the same vtkSmartPointer unsafe? -
according this question cannot call new twice on same normal pointer without delete, if working vtksmartpointers? had several occations calling delete() on such smart pointer gave segmentation error though new() declared after it. how can destroy object , create new one? need destroy vtkrenderwindow. in advance.
vtksmartpointers should safe overwrite purpose clean allocated memory on own when destructed. however, if other copy of smart pointer remains window not destroyed when overwrite "original" smart pointer.
vtksmartpointer<vtkrenderwindow> rw; rw = vtkrenderwindow<vtkrenderwindow>::new(); rw = vtkrenderwindow<vtkrenderwindow>::new(); // destructor of previous instance invoked, deletes pointer
Comments
Post a Comment