Avertissement: je sais que c'est un mauvais design, je suis tout simplement en posant la question, par curiosité, pour essayer d'obtenir une connaissance plus approfondie de la façon dont le destructeur fonctionne en C++.
En C#, on peut écrire: GC.KeepAlive(ce) dans le destructeur d'une classe (voir modifier ci-dessous), et qui signifie que l'objet sera toujours vivant dans la mémoire, même après le destructeur de l'appel est terminé.
La conception de C++ permettre la relance d'un objet, le destructeur similaire à C# à l'algorithme décrit ci-dessus?
Edit: Comme l'a souligné une réponse ci-dessous, GC.ReRegisterForFinalize() est plus étroitement liée à la question de GC.KeepAlive(ce).