小编Cra*_*ins的帖子

重新分配 std::unique_ptr 时是否释放内存?

鉴于以下情况:

{
    std::unique_ptr<char[]> foo;
    foo = std::make_unique<char[]>(100);
    foo = std::make_unique<char[]>(200);
}
Run Code Online (Sandbox Code Playgroud)

在第二次调用中重新分配 foo 时,第一次调用 make_unique 时分配的内存是否被释放?

c++ memory memory-leaks smart-pointers unique-ptr

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

在空结构中显式声明构造函数有什么意义?

我最近浏览了一个 GCC 头文件,发现了这个: struct defer_lock_t { explicit defer_lock_t() = default; };

为什么构造函数声明为显式而不是空的struct defer_lock_t {}?

我的理解是这种类型与constexpr用于构造函数重载的a一起使用。我对explicit关键字有点模糊,但我想我有点了解它的功能。

c++

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

标签 统计

c++ ×2

memory ×1

memory-leaks ×1

smart-pointers ×1

unique-ptr ×1