Pas de dépendances
#include <boost/utility.hpp> class Test:public boost::noncopyable { protected: int a; public: Test(){a=2;} }; int main() { Test t; Test t2 = t; return 0; }
Voici un exemple simple qui ne compile pas ! En effet, j'ai créé une classe Test, et je la fais hériter de boost::noncopyable Et du coup, ma ligne Test t2 = t, qui tente une recopie, est interdite ! Notez qu'on peut faire ça sans boost : Si on veut qu'une classe ne soit pas recopiable, il suffit de déclarer le constructeur de recopie (même vide) et la surcharge de l'opérateur = en private. Commentez la ligne Test t2 = t; pour que le programme compile.