Uso do construtor de cópia excluída no singleton
Eu implementei o padrão singleton comoesta, aqui está o meu código:
arquivo de cabeçalho:
class Settings_manager{
public:
static Settings_manager& get_instance();
void operator=(Settings_manager const&) =delete;
Settings_manager(Settings_manager const&) =delete;
...
private:
Settings_manager();
};
implementação:
Settings_manager& Settings_manager::get_instance()
{
static Settings_manager instance;
return instance;
}
Settings_manager::Settings_manager()
{
read_file();
}
Quando tento usarget_instance
função emmain
como isso:
Settings_manager set = Settings_manager::get_instance();
ouSettings_manager set = std::move(Settings_manager::get_instance());
eu recebo
error: use of deleted function 'Settings_manager::Settings_manager(const Settings_manager&)'
Settings_manager set = Settings_manager::get_instance();
Alguém pode dizer o que há de errado e explicar? Obrigado.