C++11新增特性旨在实现阻止数据拷贝机制
发布时间
阅读量:
阅读量
在C++11新标准下可以通过重载副本构造函数和副本赋值运算符为delete关键字指定的成员函数来实现对象复制被禁止
删除的函数是一种特殊的函数:我们虽然已经声明了这些变量(或对象),但无法以任何合法的方式引用它们。 为了使参数列表中的项被删除而采取措施
程序:
/***********************/
// @file nocopy.cc
// @author lesliefish(yuleics@126.com)
/***********************/
struct NoCopy
{
NoCopy() = default; //使用合成的默认构造函数
NoCopy(const NoCopy&) = delete; //阻止拷贝
NoCopy & operator = (const NoCopy&) = delete; //阻止赋值
~NoCopy() = default; //使用合成的析构函数
//其他成员
};
我们可以对任何函数指定=delete。
析构函数不应是被删除的成员。若析构函数被删除,则无法销毁此类型的对象。
当我们移除了该类型的析构函数时,在C++中我们仍
全部评论 (0)
还没有任何评论哟~
