unique-ptr 相关问题

std :: unique_ptr是一个智能指针,通过指针保留对象的唯一所有权。 unique_ptr不可复制或可复制,unique_ptr的两个实例无法管理同一对象。

使用 std::unique_ptr 返回 std::unordered_map 的引用时出错

我想知道为什么编译以下示例代码时会出现此错误: #包括 #包括 一级 { }; 使用 TestUnorderedMap = std::unordered_ma...

回答 1 投票 0

std::auto_ptr 到 std::unique_ptr

随着新标准的到来(以及某些编译器中已经可用的部分),新类型 std::unique_ptr 应该是 std::auto_ptr 的替代品。 它们的用法是否完全重叠(所以...

回答 4 投票 0

为什么指向同一资源的原始指针和智能指针 unique_ptr 不会导致任何问题? (C++)

我知道unique_ptr使智能指针拥有资源,因此它不允许多个指针指向同一资源。 但为什么允许创建它的原始指针......

回答 1 投票 0

在唯一指针 C++ 中初始化 int 时出错

如果我按如下方式初始化唯一指针,则会收到错误消息: std::unique_ptr ptr_obj=new int{10}; 错误:请求从“int*”转换为非标量类型“std::unique_ptr” 这段代码是

回答 1 投票 0

GCC 地址清理程序错误或无效移动?

我有一个 boost::asio::io_context 我想移动它。由于没有指针我无法移动它,因此我使用 std::unique_ptr。但是,我注意到当使用 -fsanitize=address heap-use-

回答 1 投票 0

使用 std::unique_ptr 实现持续遵守

首先查看我遇到的问题,然后查看我的用例(我可能误用了 std::unique_ptr,所以我想添加一个关于我实际尝试执行的操作的注释)。 我的问题 我正在努力...

回答 1 投票 0

为什么按值获取 std::unique_ptr 的函数不调用 gcc/clang 中的析构函数?

查看以下简单 C++ 函数的汇编输出: #包括 int square(std::unique_ptr num) { 返回 *num * *num; } Gcc 和 clang 发出以下内容

回答 1 投票 0

从唯一指针列表中返回原始指针

我有一个类 (A),它将拥有另一个类 (B) 的一组实例的内存。 A 将其 B 的实例存储为一组 std::unique_ptr。 我希望A能够返回推荐人...

回答 2 投票 0

将 unique_ptr 传递给完成处理程序时,Boost ASIO“错误地址”错误

我正在尝试使用 ASIO 实现一个简单的 TCP 服务器。这里的主要区别是我使用 std::unique_ptr 来保存缓冲区而不是原始指针,并且我将它们移动到完整的内部...

回答 1 投票 0

我什么时候应该按值返回,而不是返回唯一的指针

我想知道的是,在传递它们、内存管理和在实践中使用它们方面,按值返回 Cat 实际上与返回 std::unique_ptr 有什么不同。

回答 3 投票 0

unique_ptr::release() 是否调用析构函数?

这段代码正确吗? 自动 v = make_unique(12); v.release(); // 这可能吗? 相当于删除原始指针吗?

回答 6 投票 0

C++ - unique_ptr 的转换/更改类型

编辑:谢谢,一如既往的出色帮助:) 我找不到解决方案,我有一个基类的 unique_ptr,它具有派生类的数据,我想将其类型设置为派生类...

回答 5 投票 0

std::unique_ptr 如何在闭包上应用 EBO?

#包括 #包括 int main(){ 自动x1 = [](int *p){ 删除(p); }; 自动 ptr = std::unique_ptr(new int{1},x1); printf("%zu\...

回答 1 投票 0

使用unique_ptr来控制文件描述符

理论上,我应该能够使用自定义指针类型和删除器,以便 unique_ptr 管理不是指针的对象。我尝试了以下代码: #ifndef UNIQUE_FD_H #定义

回答 9 投票 0

如何解释“const unique_ptr”

const unique_ptr upi{new int{4}}; 计算<< ++*upi << '\n'; Seems upi is a const smart pointer. The int it points to can still be modified. What if I want to declare the int as

回答 2 投票 0

带有 make_unique 和 emplace_back 的简单结构

给定一个结构: 结构体S{ 整数x; 整数y; } 为什么标准允许我们这样做: std::向量 vec; vec.emplace_back(1, 2); 但不允许这样做: 自动 ptr = std::make_...

回答 4 投票 0

使用 unique_ptr 遵循 pImpl 习惯用法的类的 unordered_map

这是一个简化的代码:https://godbolt.org/z/EnE76xMrP pImpl 将包含一个互斥体成员,这使得 pImpl 既不可复制也不可移动。但是 Foo 类有 pImpl 的 unique_ptr 作为成员

回答 1 投票 0

如何/是否可以有一个向量<unique_ptr<ABC>>?

修改一些旧代码,在这些代码中我手动处理指向抽象基类(ABC)具体实例的原始指针向量的生命周期。 所以向量的所有者有一个虚拟 dtor,它可以...

回答 2 投票 0

关于 unique_ptr 行为与 std::move 的特定用法的问题

基于排序操作,以下代码在 C++20 中定义良好吗?或者它是否具有未定义的行为? #包括 #包括 使用命名空间 std; 结构体A { ...

回答 1 投票 0

使用 unique_ptr 的方法安全吗?

我有一些管理 unique_ptrs 队列的代码。在其主循环中,它从队列中弹出一个条目,对其执行某些操作,然后允许该元素超出范围并被删除。 S...

回答 2 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.