本篇內(nèi)容介紹了“C++怎么使用unique_ptr或者shared_ptr表示所有權(quán)”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
成都創(chuàng)新互聯(lián)是一家專注網(wǎng)站建設(shè)、網(wǎng)絡(luò)營銷策劃、微信小程序、電子商務(wù)建設(shè)、網(wǎng)絡(luò)推廣、移動互聯(lián)開發(fā)、研究、服務(wù)為一體的技術(shù)型公司。公司成立十載以來,已經(jīng)為千余家成都火鍋店設(shè)計各業(yè)的企業(yè)公司提供互聯(lián)網(wǎng)服務(wù)?,F(xiàn)在,服務(wù)的千余家客戶與我們一路同行,見證我們的成長;未來,我們一起分享成功的喜悅。
R.20: 使用unique_ptr或者shared_ptr表示所有權(quán)
使用它們可以防止資源泄露。
Example(示例)
Consider(考慮以下代碼):
void f()
{
X x;
X* p1 { new X }; // see also ???
unique_ptr p2 { new X }; // unique ownership; see also ???
shared_ptr p3 { new X }; // shared ownership; see also ???
auto p4 = make_unique(); // unique_ownership, preferable to the explicit use "new"
auto p5 = make_shared(); // shared ownership, preferable to the explicit use "new"
}
這段代碼中(只有)用來初始化p1的對象會發(fā)生泄露。
Enforcement(實施建議)
(簡單)如果new操作的返回值或者返回指針類型的函數(shù)調(diào)用的返回值被賦值給一個原始指針,發(fā)出警告。
“C++怎么使用unique_ptr或者shared_ptr表示所有權(quán)”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!