Destructeur de paramètres

L'article Sont destructeurs overloadable? parle de surcharger le destructeur.

Cela pose une question: un destructeur de paramètres?

Je n'ai jamais utilisé ou vu un destructeur avec des paramètres. Je ne pouvais pas venir avec un exemple de la raison pour utiliser des paramètres pour le destructeur.

  • pouvez-vous donner un exemple, pourquoi les destructeurs doivent avoir des paramètres?
  • avez-vous lu la FAQ sur le lien dans la accepté de répondre à cette question?
  • Hmm... je pense paramètres pour un destructeur peut être utile que si il n'y a plus d'une façon de supprimer un objet. Je suppose que cela pourrait être le cas à l'occasion (par exemple lors de la suppression d'un objet Fichier, vous pouvez spécifier s'il faut rincer immédiatement le fichier en mémoire sur le disque ou pas)... mais il y a de meilleures façons de gérer ce genre de chose de toute façon. Les destructeurs qui prennent des paramètres serait maladroit en conjonction avec pile et membre des objets (c'est à dire où vous spécifiez les paramètres lorsque la suppression est implicite?)
  • L'un des points de ma question. Je n'ai jamais vu des exemples de besoin de paramètres pour un destructeur; mais il ne faut pas empêcher quelqu'un de venir avec un exemple ou la raison.
  • Je n'ai pas reconnu le Pas de a un lien. Le C++ FAQ membres que le destructeur ne prend aucun paramètre, mais j'aimerais plus d'une citation ou une référence à une version de la Norme.
  • vous raisonnez à l'envers vers le bas. Un destructeur n'est pas quelque chose que vous appelez lorsque vous souhaitez supprimer un objet. C'est quelque chose qui est appelé pour vous, lorsqu'un objet est détruit. Pas supprimés, mais détruit. Par exemple lorsque l'objet est hors de portée. Il est implicitement détruit. Donc, si différents les destructeurs existé, que l'on doit être appelé? Comment voulez-vous indiquer à l'appel?
  • D'accord. Je pensais à un hypothétique outre le langage C++, où, comme une alternative à "supprimer myFileObj", vous pouvez aussi le faire par exemple "supprimer myFileObj(FileFlags::FlushNow)". Mais l'ajout d'une telle fonctionnalité serait presque certainement être une mauvaise idée, pour les raisons que vous avez dit.