Se del tipo di classe, l'operando viene contestualmente convertito in modo implicito un puntatore al tipo di oggetto.
Quindi, è possibile utilizzare delete
sull'oggetto, ma solo quando questo tipo ha un operatore di conversione implicito sul puntatore.
class A
{
public:
class Inner {};
A()
{
inner = new Inner();
}
operator Inner*() { return inner; }
private:
Inner* inner;
};
int main()
{
A* a = new A();
delete *a;
delete a;
}
Tuttavia, non è nuova caratteristica del C++ 11, in C++ 03 ci sono quasi stesse parole normali
L'operando deve avere un tipo di puntatore , o un tipo di classe con un singolo funzione di conversione (12.3.2) a un tipo di puntatore.
Si intende un esempio o un esempio che mostra che è utile? – zch
Qualsiasi cosa farà, ma utile è preffered. –
Qualcuno sa, perché la formulazione è cambiata tra n3376 e n3485? Non riesco a trovare alcuna informazione correlata ... – ForEveR