Pour désactiver constructeur de copie et opérateur d'affectation, il est clair que nous pourrions faire non plus, puisque C++ 11:mis constructeur de copie désactivé en privé
class A {
public:
A(const A&) = delete;
A& operator=(const A&) = delete;
}
ou 03 C++:
class A {
private:
A(const A&);
A& operator=(const A&);
}
cependant,
ce qui se passe avec ceci:
class A {
private:
A(const A&) = delete;
A& operator=(const A&) = delete;
}
Je suppose que cela conduit aussi au même résultat. Y a-t-il un effet secondaire?
Pourquoi ne l'essayez-vous pas, et voyez ce qui se passe. –
Copie possible de [syntaxe C++: par défaut et suppression des modificateurs] (http://stackoverflow.com/q/16770492/636019) et/ou [Avec les fonctions membres explicitement supprimées dans C++ 11, est-il toujours intéressant d'hériter de une classe de base non oculable?] (http://stackoverflow.com/q/9458741/636019) – ildjarn
J'ai essayé. tous les trois travaillent de la même manière. – pepero