91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

string類的深淺拷貝問題

發布時間:2020-07-09 23:05:17 來源:網絡 閱讀:271 作者:稻草陽光L 欄目:開發技術

  字符串是我們在編寫程序的時候經常用的到的。C++庫已經幫我們實現了一個功能更加強大的字符串類string,我們要去了解它是怎么實現的。

  只要是涉及到 string類的地方多少都會涉及到深淺拷貝的問題。在C++中,在用一個對象初始化另一個對象時,只復制了成員,并沒有復制資源,使兩個對象同時指向了同一資源的復制方式稱為淺復制。

      深拷貝是將指向內容復制到給當前對象新分配的緩沖區中的一種復制方式。

    下面就是自己實現的深拷貝string類:

#include<iostream>
#include<string.h>
using namespace std;
class String
{
public:
	String(const char* str="")
		:_str(new char[strlen(str)+1])
	{
		strcpy(_str, str);
	}
	//深拷貝
	String(const String& s)
		:_str(new char[strlen(s._str)+1])
	{
		strcpy(_str, s._str);
	}
	String& operator=(const String& s)
	{
		if (this != &s)
		{
			delete[] _str;
			_str = new char[strlen(s._str) + 1];
			strcpy(_str, s._str);
		}
		return *this;
	}
	////現代寫法
	//String(const String& s)
	//	:_str(NULL)
	//{
	//	String tmp(s._str);
	//	swap(tmp._str,_str);
	//}
	//String& operator=(const String& s)
	//{
	//	if (this != &s)
	//	{
	//		_str = NULL;
	//		String tmp(s);
	//		swap(tmp._str, _str);
	//	}
	//	return *this;
	//}
private:
	char* _str;
};


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

绵竹市| 体育| 勃利县| 新营市| 中阳县| 抚顺县| 左权县| 介休市| 即墨市| 平远县| 黄石市| 旬邑县| 秀山| 永顺县| 苍溪县| 高邑县| 靖江市| 吴堡县| 山丹县| 乌鲁木齐县| 页游| 乌兰浩特市| 浦北县| 越西县| 内乡县| 阳春市| 乐平市| 阿拉善左旗| 锡林郭勒盟| 苏尼特左旗| 准格尔旗| 西乌| 鲁山县| 曲沃县| 浦城县| 高邑县| 福建省| 梁河县| 荥阳市| 历史| 通州市|