c++知识总结(5)
来源:互联网 发布:淘宝卖家数据分析插件 编辑:程序博客网 时间:2024/06/05 08:21
拷贝构造函数:
如果一个构造函数的第一个参数是自身类类型的引用,且任何额外参数都有默认值,则此构造函数时拷贝构造函数。拷贝构造函数的第一个参数必须是引用类型。如果其参数不是引用类型,则调用永远不会成功——为了调用拷贝构造函数,我们必须拷贝它的实参,但为了拷贝实参,我们又需要调用拷贝构造函数,如此无限循环。
拷贝初始化不仅在我们用=定义变量时会发生,在下列情况下也会发生:
1.将一个对象作为实参传递一个非引用类型的形参
2.从一个返回类型为非引用的函数返回一个对象
3.用花括号列表初始化一个数组中的元素或一个聚合类的成员。
析构函数:
什么时候会调用析构函数
无论何时一个对象被销毁,就会自动调用其析构函数:
1.变量在离开其作用域时被销毁。
2.当一个对象被销毁时,其成员被销毁
3.容器(无论是标准库还是数组)被销毁时,其元素被销毁。
4.对于动态分配的对象,当对指向它的指针应用delete运算符时被销毁
5.对于临时对象,当创建它的完整表达式结束时被销毁。
阅读全文
0 0
- C一些知识总结
- C一些知识总结
- keil c 知识总结
- c语言 知识总结
- keil c 知识总结
- C Assignment2 知识总结
- C语言知识总结
- C高级知识总结
- C语言知识总结
- C语言知识总结
- C语言知识总结
- C语言知识总结
- C语言知识总结
- c语言知识总结
- 【c++】模板知识总结
- C语言程序设计知识总结
- C专栏1-知识总结
- C/C++零碎知识总结
- Angular 4 Http
- 搭建sftp服务+nginx代理
- [NOIP提高组2001]一元三次方程求解
- PEP8: Style Guide for Python Code
- Invalid bound statement (not found)
- c++知识总结(5)
- [NOIP提高组2001]数的划分
- EffectiveC++学习笔记-条款45
- 执行环境和作用域
- iOS -[__NSArrayI addObject:]: unrecognized selector sent to instance~解决方法
- jQueryでリストなどに連番でIDやクラスを追加(ナンバリング)する方法
- mysql 引擎
- 一种C语言打桩函数的源码实现
- JSON取值(key是中文或者数字)方式详解