Rem*_*mis -1 c++ shared-ptr c++11
有什么区别:
std::shared_ptr<int> p1 = std::shared_ptr<int>(new int);
Run Code Online (Sandbox Code Playgroud)
和
std::shared_ptr<int> p2 = (std::shared_ptr<int>) new int;
Run Code Online (Sandbox Code Playgroud)
哪个更好?为什么?
Ker*_* SB 11
都不是.这个是严格优先的:
auto p3 = std::make_shared<int>();
Run Code Online (Sandbox Code Playgroud)
(虽然它的语义略有不同,因为它初始化了int对象,与代码不同.)
此版本是子表达式正确的,不包含红旗字"new",并且还使用更有效的分配方案.