Effective C++ 条款6
来源:互联网 发布:梦幻西游手游代秒软件 编辑:程序博客网 时间:2024/05/17 07:55
若不想使用编译器自动生成的函数,就该明确拒绝
本节知识点是
如果不想让编译器自动生成copy函数和copy assignment函数。我们就可以通过以下两种方式实现
第一种:
将copy函数和copy assignment函数声明为private成员,并且不实现它们。这样只要调用此类函数编译器就无法通过编译。如果别的成员函数调用它们,则连接器无法通过连接。
如下代码:
class HomeForSale{public: ……private: HomeForSale(const HomeForSale&); HomeForSale& operator=(const HomeForSale&);};
第二种:
可以定义一个基类,通过声明基类的copy函数和copy assignment函数声明为private成员,这样derived class在调用copy函数和copy assignment函数的时候,就无法通过编译。
如下代码:
class Uncopyable{{protected: Uncopyable(){} ~Uncopyable(){};private: Uncopyable(const Uncopyable&); Uncopyable& operator=(const Uncopyable&);};class HomeForSale:public Uncopyable{……};
0 0
- Effective C++:条款01
- Effective C++:条款02
- Effective C++:条款03
- Effective C++:条款04
- Effective C++:条款05
- Effective C++:条款06
- Effective C++:条款07
- Effective C++:条款08
- 《effective C++》条款三
- 《effective C++》条款5
- 《effective C++》条款六
- Effective C++--经验条款
- Effective C ++ 条款34
- 《Effective C++》条款05
- 《Effective C++》条款06
- 《Effective C++》条款08
- 《Effective C++》资源管理:条款13-条款15
- 《Effective C++》资源管理:条款16-条款17
- 算法导论---有序序列中的i个最大数(思考题9-1)
- JavaWeb:报错信息The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
- 黑马程序员——JAVA笔记——内部类
- 精通标准模板库STL的向量Vector用法
- JS实现直接插入排序
- Effective C++ 条款6
- java笔记29 网络编程(UDP TCP)
- POJ 1195 Mobile phones(二维BIT)
- codeforces 507E (dijkstra+优先队列)
- 单词1
- java 易混淆知识点
- MySQL优化之——查询
- Apache引起的wampserver安装好第二次使用无法启动问题
- 第十五周【项目1-用二进制文件处理学生成绩】