Effective C++条款05:了解C++默默编写并调用哪些函数
2024-08-30 10:52:44
class Empty{};
class Empty{
Empty(){};
Empty(const Empty& rhs){};
~Empty(){};
Empty& operator=(const Empty& rhs){};
};
只有当生成的代码合法且证明它有意义时编译器才会为class生成operator=
template<class T>
class NameObject{
private:
string& nameValue;
const T objectValue;
};
如上,对于引用和const,编译器拒绝赋值
还有一种情况:某个基类将拷贝赋值函数声明为private,则编译器拒绝为派生类生成拷贝赋值函数,毕竟编译器所生成的拷贝赋值函数想象可以处理基类部分,所以无法在派生类调用基类的拷贝赋值函数
请记住
编译器默认为class生成默认构造函数,拷贝构造函数,拷贝赋值函数,析构函数
最新文章
- css3全屏背景图片切换特效
- nice
- python标准模块(二)
- [Java Basics] Reflection
- 【转】winform退出代码:Application.Exit和Environment.Exit(0)
- python socket学习
- 函数:我的地盘听我的 - 零基础入门学习Python019
- JavaScript 实现文本编辑器
- Inno Setup入门(九)&mdash;&mdash;修改安装过程中的文字显示
- PHP使用文件排它锁,应对小型并发
- Unity iOS Appstore 上架的问题
- MBR内容解析
- 网络编程 -- RPC实现原理 -- RPC -- 迭代版本V3 -- 远程方法调用 整合 Spring
- CSS-弹性布局-动画-过渡
- weblogic静默安装指导
- MySQL 5.6学习笔记(索引的创建与删除)
- TypeError: decoding Unicode is not supported
- python调用matlab
- 执行 update操作的时候有报错 ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction
- 汉诺塔(Hanoi)——小小算法