C++ 11右值引用
来源:互联网 发布:英语软件哪个比较好 编辑:程序博客网 时间:2024/05/21 12:41
http://www.cnblogs.com/hujian/archive/2012/02/13/2348621.html
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) { 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) { 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;};
-- 本文来源于创世软件团队博客, 原文地址: http://www.cnblogs.com/hujian/archive/2012/02/13/2348621.html
- [C++]C++11右值引用
- C++/C++11中左值、左值引用、右值、右值引用的使用
- 【C++】C++11特性:右值引用与转发
- c++move语义与右值引用
- C++:右值引用与移动构造
- [C++]右值引用和转移语义
- C++primer学习笔记--右值引用
- 【C++】右值引用与模板
- C++11右值引用
- C++ 11右值引用
- c++11 右值引用
- C++ 11右值引用
- C++11 右值引用
- C++ 11右值引用
- C++ 11右值引用
- C++ 11右值引用
- C++11右值引用
- C++ 11右值引用
- 2013/7/29-----今
- 软件测试入门
- YII 框架 第十天(1) urlManager 地址美化
- 2013.9月,百度电话面试经验
- layout_weight体验(实现按比例显示)
- C++ 11右值引用
- C++11标准库之Type Traits简介
- ContentProvider/ContentResolver和Uri详解
- 二叉树相关问题
- OpenCV:概述、结构和内容
- HDOJ 1540 && POJ 2892 —— 线段树
- hdu2873 Bomb Game
- Ubuntu下如何将普通用户提升到root权限
- 深信服笔试题