我有一个带有unique_ptr成员的类.
class Foo {
private:
std::unique_ptr<Bar> bar;
...
};
Run Code Online (Sandbox Code Playgroud)
Bar是第三方类,具有create()函数和destroy()函数.
如果我想std::unique_ptr在独立功能中使用它,我可以这样做:
void foo() {
std::unique_ptr<Bar, void(*)(Bar*)> bar(create(), [](Bar* b){ destroy(b); });
...
}
Run Code Online (Sandbox Code Playgroud)
std::unique_ptr作为班级成员,有没有办法做到这一点?
如果你不需要动态增长而且在编译时不知道缓冲区的大小,那么何时应该unique_ptr<int[]>使用而不是vector<int>if呢?
使用vector而不是unique_ptr?有显着的性能损失吗?
有没有办法移动unique_ptr
unique_ptr<int[]> foo;
Run Code Online (Sandbox Code Playgroud)
进入矢量?
vector<int> bar;
Run Code Online (Sandbox Code Playgroud)