title: Revive object from destructor in C++?
body: <p><strong>Disclaimer:</strong> I know this is bad design, I am simply asking the question out of curiosity in order to try to obtain deeper knowledge of how the destructor works in C++.</p>
  
  <p>In C#, one can write: <code>GC.KeepAlive(this)</code> in the destructor of a class <em>(see edit below)</em>, and that would mean that the object will still be alive in memory even after the destructor call is complete.</p>
  
  <p>Does the design of C++ allow reviving an object from the destructor similar to the C# algorithm described above?</p>
  
  <p><strong>Edit</strong>: As pointed out by an answer below, <code>GC.ReRegisterForFinalize()</code> is more closely related to the question than <code>GC.KeepAlive(this)</code>.</p>