簡體   English   中英

std :: shared_ptr初始化

[英]std::shared_ptr initialization

之間有什么區別?

std::shared_ptr<int> p1 = std::shared_ptr<int>(new int);

std::shared_ptr<int> p2 = (std::shared_ptr<int>) new int;

哪個更好?為什么?

都不行 這是絕對可取的:

auto p3 = std::make_shared<int>();

(盡管它的語義略有不同,因為它初始化int對象,這與您的代碼不同)。

此版本在子表達式方面是正確的,不包含紅色標記詞“ new”,並且還使用了更有效的分配方案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM