亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

南开区| 九龙坡区| 专栏| 延边| 昭平县| 斗六市| 聂荣县| 南溪县| 和龙市| 大竹县| 东辽县| 彭泽县| 韩城市| 繁峙县| 仪征市| 平舆县| 常德市| 大足县| 阆中市| 新乐市| 延长县| 济源市| 崇阳县| 瓦房店市| 牡丹江市| 临城县| 三穗县| 雅江县| 东至县| 元氏县| 香格里拉县| 安仁县| 芜湖市| 德清县| 莎车县| 吉安县| 天峻县| 淮南市| 内丘县| 霞浦县| 织金县|