[英]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.