小编hui*_*arc的帖子

如何将自定义删除器与std :: unique_ptr成员一起使用?

我有一个带有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作为班级成员,有没有办法做到这一点?

c++ unique-ptr move-semantics c++11

122
推荐指数
7
解决办法
9万
查看次数

unique_ptr <int []>或vector <int>?

如果你不需要动态增长而且在编译时不知道缓冲区的大小,那么何时应该unique_ptr<int[]>使用而不是vector<int>if呢?

使用vector而不是unique_ptr?有显着的性能损失吗?

c++ vector unique-ptr

10
推荐指数
3
解决办法
3186
查看次数

1
推荐指数
1
解决办法
140
查看次数

标签 统计

c++ ×3

unique-ptr ×3

vector ×2

c++11 ×1

move ×1

move-semantics ×1