C++中自定义类禁止使用复制构造函数和赋值操作符
2013-05-19 13:04
323 查看
有些类是不希望产生被复制或赋值的(甚至坚决拒绝),但若不为类定义复制构造函数和复制操作符时系统将自动按值复制或赋值,因此简单的不去定义这两个函数无法起到禁止的作用。现总结方法如下:
1,将复制构造函数和赋值操作符声明为private。
2,若也不允许友元和成员使用,只提供成员的声明而不提供定义。这样当程序中出现 复制或赋值现象时,会造成链接错误。
1,将复制构造函数和赋值操作符声明为private。
2,若也不允许友元和成员使用,只提供成员的声明而不提供定义。这样当程序中出现 复制或赋值现象时,会造成链接错误。
相关文章推荐
- C++技术感想 -- 禁止类的复制构造函数和赋值操作符的使用
- 禁止使用类的copy构造函数和赋值操作符
- C++学习基础六——复制构造函数和赋值操作符
- C++ 操作符重载(3) 什么时候需要自定义赋值操作符
- 一个实例介绍C++复制控制(有一个C++11新特性要注意)——复制构造函数、赋值操作符、析构函数
- C++学习笔记49——继承中的复制构造函数与赋值操作符
- 【C\C++学习】之十八、C++11六大函数(构造函数,移动构造函数,移动赋值操作符,复制构造函数,赋值操作符,析构函数)
- C++ 复制构造函数和赋值操作符
- c++ 使用动态内存分配的类需要显式复制构造函数,赋值构造函数,析构函数
- [C++]复制构造函数、赋值操作符与隐式类类型转换
- c++操作符重载与友元函数 单目 双目 左移右移 ==号操作符重载 自定义数组
- effective c++ 条款27: 如果不想使用隐式生成的函数就要显式地禁止它
- C++在单继承、多继承、虚继承时,构造函数、复制构造函数、赋值操作符、析构函数的执行顺序和执行内容
- 【C++】拷贝构造函数与赋值操作符的本质性区别分析
- CryENGINE3初探Flowgraph(FG)(三)----使用C++创建自定义Node
- 复制构造函数与赋值重载(c++)
- 复制构造函数、析构函数、赋值操作符缺少其一的后果
- [C/C++标准库]_[初级]_[使用算法库函数时需要注意自定义BinaryPredicate和UnaryPredicate]
- 条款2. 最好使用c++转换操作符
- C++中的拷贝构造函数和拷贝赋值操作符+const成员变量初始化(5)---《Effective C++》