代码的传统实现
struct Uncopyable
{
~Uncopyable() {}
private:
Uncopyable(const Uncopyable&);
Uncopyable& operator=(const Uncopyable&);
};
struct Dervied : private Uncopyable
{
};
提供C++11特性的实现
struct Uncopyable
{
~Uncopyable() {}
Uncopyable(const Uncopyable&) = delete;
Uncopyable& operator=(const Uncopyable&) = delete;
};
struct Dervied : private Uncopyable
{
};