禁止拷贝和赋值构造函数

来源:互联网 发布:娇女轻抚琴,绕梁知其音 编辑:程序博客网 时间:2024/05/16 09:20

如果想让类不能使用拷贝构造函数和赋值操作符,只要将该类的拷贝构造函数和赋值操作符函数定义为private即可,并且只是声明,不用实现.

#include <stdio.h>#include <iostream>#define RTC_DISALLOW_ASSIGN(TypeName) \  void operator=(const TypeName&) = delete#define RTC_DISALLOW_COPY_AND_ASSIGN(TypeName) \  TypeName(const TypeName&) = delete;          \  RTC_DISALLOW_ASSIGN(TypeName)#define RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(TypeName) \  TypeName() = delete;                               \  RTC_DISALLOW_COPY_AND_ASSIGN(TypeName)class Simple{public:Simple(){}private:RTC_DISALLOW_COPY_AND_ASSIGN(Simple);};


0 0