深入Qt–禁用拷贝构造、赋值函数
在实现某些类的时候,不支持拷贝构造函数、赋值函数,只需继承下面的类,充分利用面向对象技术实现。C++11以上可用。
在深入C++专栏中还会提到,同时也会对new、delete等的修改,同时实现自己的内存池及自动回收机制,期待博主的,请关注博主哦。
具体实现 Noncopyable.h
#ifndef NONCOPYABLE_H
#define NONCOPYABLE_H
/**
* @brief The Noncopyable class
* 对象无法拷贝,赋值
*/
class Noncopyable {
public:
/**
* @brief 默认构造函数
*/
Noncopyable() = default;
/**
* @brief 默认析构函数
*/
~Noncopyable() = default;
/**
* @brief 拷贝构造函数(禁用)
*/
Noncopyable(const Noncopyable&) = delete;
/**
* @brief 赋值函数(禁用)
*/
Noncopyable& operator=(const Noncopyable&) = delete;
};
#endif // NONCOPYABLE_H