我在看一些arduino代码,其中说:
std::unique_ptr<BearSSL::WiFiClientSecure>client(new BearSSL::WiFiClientSecure);
通常,使用make_unique创建唯一的指针。
所以我想知道要处理该指针需要做什么?
最佳答案
您什么都不需要做。此代码几乎与make_unique
相同。我建议您不要自己编写这样的代码(make_unique
更好),但是如果您不能更改此行,则您不太可能会注意到其中的区别。
用原始指针初始化unique_ptr
时,如果表达式比这种情况复杂一些,则可能发生内存泄漏。 make_unique
防止了这种可能性。
使用shared_pointer
时,使用原始指针进行初始化的效率也比使用make_shared
的效率稍低。