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

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ù)器托管
国产亚洲欧美日韩看国产| 亚洲精品乱码在线播放| 国产午夜男人天堂手机| 亚洲一区二区三区不卡视频| 国产视频一区2区三区| 亚洲天堂成人综合在线| 欧美日韩亚洲国产专区精品 | 美味人妻手机在线观看| 国产av一区二区三区中文| 91人妻这里只有精品| 日本久久精品免费网站| 国产精品国产三级国产av野外| 激情五月婷婷久久激情| 九九热这里只有免费精品| 欧美aⅴ一区二区三区| 国产三级尤物在线观看| 日韩国产传媒视频在线观看| 欧美精品日本一区二区| 日韩av在线高清播放| 中文字幕av在线有码| 国产91福利视频在线| 亚洲一二三无人区是什么| 五月爱婷婷六月爱丁香色| 久久精品久久精品欧美大片| 在线看片国产精品自拍| 婷婷网色偷偷亚洲男人| 乡村丰满的大屁股熟妇| 国产欧美成人综合色就色| 日韩精品伦理中文字幕| 免费av中文字幕电影| 激情五月天色婷婷久久| 亚洲精品黄色片中文字幕| 看看永久成人免费视频| 亚洲中文字幕伦理在线| 18禁免费无遮挡免费视频| 国产日本韩国三级在线| 日本黄色中文字幕网站| 91美女黑丝免费国产视频| 欧美精品欧美激情免费区| 91麻豆精品国产综合久久久| 日韩成人激情在线观看|