博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++:一段代码,了解拷贝构造函数、move构造函数、拷贝赋值函数、move赋值函数、右值引用...
阅读量:6148 次
发布时间:2019-06-21

本文共 1309 字,大约阅读时间需要 4 分钟。

hot3.png

本文纯粹是个整理。

以下代码和图片来自。

class CMyString{public:    // 构造函数 CMyString(const char *pszSrc = NULL) {  cout << "CMyString(const char *pszSrc = NULL)" << endl;  if (pszSrc == NULL)  {   m_pData = new char[1];   *m_pData = '\0';  }  else  {   m_pData = new char[strlen(pszSrc)+1];   strcpy(m_pData, pszSrc);  } }    // 拷贝构造函数 CMyString(const CMyString &s) {  cout << "CMyString(const CMyString &s)" << endl;  m_pData = new char[strlen(s.m_pData)+1];  strcpy(m_pData, s.m_pData); }    // move构造函数 CMyString(CMyString &&s)  // s是个临时对象,右值引用 {  cout << "CMyString(CMyString &&s)" << endl;  m_pData = s.m_pData;  s.m_pData = NULL; }    // 析构函数 ~CMyString() {  cout << "~CMyString()" << endl;  delete [] m_pData;  m_pData = NULL; }    // 拷贝赋值函数 CMyString &operator =(const CMyString &s) {  cout << "CMyString &operator =(const CMyString &s)" << endl;  if (this != &s)  {   delete [] m_pData;   m_pData = new char[strlen(s.m_pData)+1];   strcpy(m_pData, s.m_pData);  }  return *this; }    // move赋值函数 CMyString &operator =(CMyString &&s)  // s是个临时对象,右值引用 {  cout << "CMyString &operator =(CMyString &&s)" << endl;  if (this != &s)  {   delete [] m_pData;   m_pData = s.m_pData;   s.m_pData = NULL;  }  return *this; }private: char *m_pData;};

输入图片说明

###其他:

什么是左值、右值:

什么是引用:

什么是右值引用:

转载于:https://my.oschina.net/letiantian/blog/470921

你可能感兴趣的文章
php+nginx自动编译安装脚本
查看>>
ELK实战之收集Nginx的json格式日志
查看>>
开放平台自动部署脚本
查看>>
编译Mysql时configure: error: No curses/termcap library found 的错误解决方法
查看>>
H3C 胖AP设置(VLAN模式)——高级配置
查看>>
Android之ListView原理学习与优化总结
查看>>
rpmbuild 打包实例-webbench
查看>>
Linux使用PAM锁定多次登陆失败的用户
查看>>
php 基础知识之$GET $POST
查看>>
四、hibernate实体对象,事务管理,锁
查看>>
Puppet resource命令参数介绍(七)
查看>>
编程十诫
查看>>
深入浅出正则表达式及grep,egrep异同解析
查看>>
android基本程序单元Activity
查看>>
CCNP精粹系列之三十三--BGP同步问题,推荐
查看>>
Haproxy+Keepalived主主高可用
查看>>
Exchange2003+sp2部署详解系列一
查看>>
PCL深度图像(1)
查看>>
centos用yum安装mongodb
查看>>
Apache+varnish(高性能开源HTTP加速器)搭建负载均衡集群
查看>>