欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

c++new和delete的匹配問(wèn)題與raii的定制刪除器-創(chuàng)新互聯(lián)

目錄

為吉安等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及吉安網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為成都網(wǎng)站建設(shè)、做網(wǎng)站、吉安網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!

1.關(guān)于new與delete

2.智能指針的定制刪除器


1.關(guān)于new與delete

這里我想介紹的是new[]與delete[]沒(méi)有配套使用帶來(lái)的影響。這個(gè)是否發(fā)生錯(cuò)誤和使用的ide有很大的關(guān)系。(這里我用vs平臺(tái)做示例)

如果對(duì)內(nèi)置類(lèi)型采用new[]來(lái)開(kāi)辟開(kāi)辟空間,再用delete來(lái)釋放空間是沒(méi)有影響的。

這里是可以通過(guò)編譯的。

不過(guò)若是對(duì)自定義類(lèi)型采用這種方式釋放就會(huì)報(bào)錯(cuò)。

這里我們就要深入的了解一下new[]和delete[]的工作方式(針對(duì)自定義類(lèi)型)。new[]的時(shí)候會(huì)先調(diào)用operator new[]開(kāi)出空間,再用開(kāi)出的空間進(jìn)行調(diào)用指定次數(shù)的構(gòu)造函數(shù)。delete[]的時(shí)候會(huì)先調(diào)用operator delete[]來(lái)進(jìn)行指定次數(shù)的析構(gòu),再將空間釋放。

核心問(wèn)題:new[n]完了,delete[]如何拿到這個(gè)n值呢?

vs下的處理方式:

如圖,以開(kāi)三個(gè)Node空間來(lái)舉例,編譯器會(huì)默認(rèn)多開(kāi)4個(gè)字節(jié)來(lái)計(jì)數(shù),new[]結(jié)束,指針會(huì)偏移至計(jì)數(shù)空間的結(jié)尾。這時(shí),我們?nèi)绻捎胐elete方式來(lái)釋放空間,析構(gòu)或許可以正常執(zhí)行一次,Node1或許會(huì)被析構(gòu)。不過(guò)此時(shí)找不到空間的起始位置,delete整個(gè)空間時(shí)對(duì)應(yīng)不上正確位置就會(huì)報(bào)錯(cuò)。


2.智能指針的定制刪除器

為了解決上述問(wèn)題,智能指針給了定制刪除器的方案。

unique_ptr:

他的定制刪除器只接收傳類(lèi)型。

#includeusing namespace std;

class Node
{
public:
	~Node()
	{
		cout<< "~Node"<< endl;
	}
private:
	int _val=0;
};

templatestruct DelteAryy //搞一個(gè)專門(mén)delete[]的
{
	void operator()(T* t)
	{
		delete[] t;
	}
};
int main()
{
	unique_ptr>sp1(new Node[5]);

	return 0;
}

如圖,成功析構(gòu)5次。

shared_ptr:

這里我們可以傳對(duì)象給定制刪除器。因此用c++的lambda就會(huì)非常省事。

lambda可以參考:c++11有關(guān)新特性?

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧

標(biāo)題名稱:c++new和delete的匹配問(wèn)題與raii的定制刪除器-創(chuàng)新互聯(lián)
分享路徑:http://aaarwkj.com/article46/pgheg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)ChatGPT、云服務(wù)器小程序開(kāi)發(fā)、用戶體驗(yàn)網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

綿陽(yáng)服務(wù)器托管
中文字幕国产精品经典三级| 国产一区二区三区不卡视频| 福利在线视频一区二区| 亚洲精品人妻av在线| 99久久婷婷免费国产综合精品| 极品美女粉嫩啪啪高潮| 国产成人亚洲精品午夜国产馆| 欧美日韩精品不卡在线播放| 日本束缚人妻一区二区三区| 成人免费av在线网址| 亚洲精品一品区二品区三区| 日韩一区二区精品网站| 天天操夜夜操白天操晚上操| 国产三级视频在线观看视频| 人妻日韩精品综合一二三四| 国产精品一区二区av在线| 国产日韩亚洲欧美在线| 国产中文字幕一区二区在线观看| 日本电影在线看一区二区| 欧美亚洲国产精品综合在线| 欧美生活一区二区三区| 可以看的黄色亚洲网站| 日本熟妇一区二区三区高清视频 | 欧美高清视频免费播放| 尤物在线观看精品视频| 国产精品视频在线播放| 麻豆视传媒官网免费观看| 日韩免费av在线观看| 亚洲一区二区日韩综合久久| 中文字幕你懂的在线观看| 看看永久成人免费视频| 人妻勾引中文字幕在线视频| 色哟哟视频免费在线观看| 亚洲国产av国产av| 人妻鲁丝一区二区三区| 欧洲精品久久久久久| 在线激情av中文字幕| 美女丝袜诱惑国产在线观看| 国产精品深夜在线观看| 在线免费观看日韩黄片| 变态另类欧美国产在线|