Vous pouvez créer une variable automatique "anonyme", mais pas une variable statique. Les éléments suivants créent un objet de classe A et appellent le constructeur, puis appellent le destructeur sur la fonction exit.
class A;
void foo()
{
A();
}
Vous pouvez obtenir un effet similaire en attribuant l'objet sur le tas ou dans un endroit constructing it in place préaffectées. Toutefois, dans les deux cas, l'objet ne peut pas être nettoyé correctement, car un pointeur n'est pas conservé pour un appel ultérieur à supprimer. Même si la mémoire statique sera libérée, le destructeur ne sera jamais appelé. Les objets anonymes ne font vraiment que depuis lorsqu'ils sont utilisés avec un éboueur.
C'est exactement pourquoi je me retrouve à regarder cette question (7 ans plus tard). Je veux créer un objet qui a une portée globale mais je ne veux pas qu'il ait un nom. Il s'enregistre avec d'autres objets dans son constructeur, il n'a donc pas besoin de nom. –