20140702 赋值构造函数的形参为什么一定用引用。string类的赋值运算函数的注意点
2024-09-05 13:53:33
1、复制构造函数为什么一定要用引用,而不是用值
类名::复制构造函数(类名&引用名)
传递引用,可以避免复制,如果一个数据相当大的化,进行复制会浪费很多时间的。
类名::复制构造函数(类名 变量名)
在调用构造函数的时候参必须给的是一份拷贝,那么就到一个循环调用。在调用拷贝构造函数之前,必须拷贝构造一个对象。于是进入了递归调用
2、string类的赋值运算符函数的注意点
String & String::operator=(const String &other)//1、是否把返回类型声明为string类的引用,是否将传入的参数设置为常量引用
{
if(this==&other)//2、是否考虑传入参数和当前实例(*this)是不是同一实例
return *this;
delete [] m_data;//3、是否释放自身的内存
m_data=new char[strlen(other.m_data)+1];//新申请空间,深拷贝
strcpy(m_data,other.m_data);
return *this;//是否把返回类型声明为string类的引用
}
最新文章
- C#实现二叉树的各种遍历
- 回车键和button按钮都绑定同一个事件,如何避免按回车的时候button重复点击
- Gitblit-Git版本服务器环境部署
- android 学习随笔一(配置调试与基础)
- Environment 类
- MAC 上升级python为最新版本
- POJ 3233 矩阵乘法
- 北京Uber优步司机奖励政策(12月3日)
- NLTK学习笔记(三):NLTK的一些工具
- WebView之js调用Android类的方法传递数据
- Centos7 设置静态IP地址
- SIMTRACE环境搭建
- 【转】windows 控制台cmd乱码的解决办法
- tensorflow--variable_scope
- mysql安装登录
- 【Python】多线程-2
- chrome浏览器的VUE调试插件Vue.js devtools
- requests(二): json请求中固定键名顺序&;消除键和值之间的空格
- 蓝牙进阶之路 (002) - HC-05与HC-06的AT指令的区别(转)
- java static class 静态类