C++ Metodi default e delete

Da Andreabont's Wiki.

Delete

Permette di specificare al compilatore di non generare automaticamente i metodi standard di una classe.

class NOCOPY
{
public:
   NOCOPY & operator = (const NOCOPY &) = delete;
   NOCOPY (const NOCOPY &) = delete;
};

Default

Permette di forzare il compilatore a creare automaticamente il metodo indicato.

class A
{
  public:
    A () = default;
};