如果想让类不能使用拷贝构造函数和赋值操作符,只要将该类的拷贝构造函数和赋值操作符函数定义为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);
};