Uso del constructor de copia eliminado en el singleton

He implementado el patrón singleton comoesta, ahí está mi código:

archivo de cabecera:

class Settings_manager{
public:
    static Settings_manager& get_instance();

    void operator=(Settings_manager const&) =delete;
    Settings_manager(Settings_manager const&) =delete;
...

private:
    Settings_manager();
};

implementación:

Settings_manager& Settings_manager::get_instance()
{
    static Settings_manager instance;
    return instance;
}

Settings_manager::Settings_manager()
{
    read_file();
}

Cuando trato de usarget_instance funcionar enmain Me gusta esto:

Settings_manager set = Settings_manager::get_instance();

oSettings_manager set = std::move(Settings_manager::get_instance());

yo obtengo

error: use of deleted function 'Settings_manager::Settings_manager(const Settings_manager&)'
 Settings_manager set = Settings_manager::get_instance();

¿Alguien puede decir qué pasa y explicarlo? Gracias.

Respuestas a la pregunta(2)

Su respuesta a la pregunta