Effective C++学习笔记 (6)
来源:互联网 发布:js 分享到qq空间 编辑:程序博客网 时间:2024/05/02 01:27
本人学习C++不精,故重新学习,点滴记录与大家分享,不足之处还望大牛多多指教。
若不想使用编译器自动生成的函数,就该明确拒绝
其实本条款讲的比较简洁,由于条款5说明了“默认构造函数”、“拷贝构造函数”、“复制运算符”这三个虽然用户不自己定义,但是用到的时候编译器还是会为它们生成代码,所以就导致了一些情况下, 用户不想提供拷贝构造函数,但是编译器默认生成了,解决这类问题主要经过了如下几步。
1、 将拷贝构造函数生命为private的,这样一来外部就没法调用了;
2、 但是内部的成员方法或者friend类还是一样可以调用,那怎么办呢?只申明,不实现,这样一来用到的地方就会报一个连接错误;
3、 有时候大家看到连接错误会比看到编译错误更加抓狂,所以有什么方法能让该类问题在编译阶段就暴露出来呢,当然,实现一个基类,然后继承它,这样一来子类就不用关心拷贝构造函数的问题了。以下是一些代码样例。
无论是在类外部还是在类里面,都会在编译时就会报错,读者可以自己尝试其他几种情况。其实这个例子在C++中最常见的是ios_base类,读者可以查阅相关代码。
- 《Effective C++》学习笔记
- 《Effective C++》学习笔记
- 《Effective C++》学习笔记
- 《Effective C++》学习笔记
- 《Effective C++》学习笔记(1)
- 《Effective C++》学习笔记(一)
- 《Effective C++》学习笔记(二)
- 《Effective C++》学习笔记(三)
- 《Effective C++》学习笔记(四)
- 《Effective C++》学习笔记(五)
- 《Effective C++》学习笔记(六)
- 《Effective C++》学习笔记(七)
- 《Effective C++》学习笔记(八)
- Effective Objective-C 学习笔记(一)
- 《effective c++》学习笔记(一)
- 《effective c++》学习笔记(二)
- 《effective c++》学习笔记(三)
- 《effective c++》学习笔记(四)
- Spring AOP
- 一些简单的算法
- 类风格(class style)
- Effective C++学习笔记 (5)
- tomcat 配置方法
- Effective C++学习笔记 (6)
- hdu 1850 Being a Good Boy in Spring Festival(尼姆博弈加强)
- Python入门教程 超详细1小时学会Python
- MySQL安全配置详解
- webpshere图片验证码不能显示
- 发送短信分享和邮件分享
- directx 学习笔记之一 如何安装并且在visual studio2010的项目中使用directx
- 优秀程序员和一般程序员差别在哪?
- java代码分析及分析工具