shared-ptr 相关问题

引用计数智能指针类实现共享所有权

引用计数器是在自定义删除器之前还是之后减少?

如果我使用自定义删除器创建单个shared_ptr并且该shared_ptr被销毁,则自定义删除器将被调用 - 在该删除器的体内,shared_ptr的值将是多少

回答 1 投票 0

使用智能指针来管理缓冲区

我最近开始将许多现有的类迁移到使用智能指针,我有一些关于如何移植一些我认为可以从使用智能指针中受益的代码的问题...

回答 2 投票 0

返回shared_ptr时如何实现协变返回类型?

使用命名空间提升; A类{}; B 类:公共 A {}; X类{ 虚拟shared_ptr foo(); }; Y 类:公共 X { 虚拟shared_ptr foo(); }; 返回类型不是

回答 4 投票 0

是否可以使shared_ptr协变?

我尝试制作以下示例。 结构BaseSPtr{}; 结构 DerivedSPtr : 公共 BaseSPtr{}; 基类{ 民众: //虚拟shared_ptr函数(); 虚拟 BaseSPtr*

回答 3 投票 0

如何从原始指针创建共享指针并让其他共享指针知道它?

我有一些类的层次结构(通过组合,而不是继承):子类和父类。孩子可以有多个父母,父母也可以这样做。我希望 Child 类的生命周期是法力...

回答 1 投票 0

C++ 如何从原始指针创建共享指针并让其他共享指针知道它?

我有一些类的层次结构(通过组合,而不是继承):子类和父类。孩子可以有多个父母,父母也可以这样做。我想要儿童班终生成为妈妈......

回答 1 投票 0

__clang 标准库中的 nat 类

我翻阅了clang的C++标准库,在shared_ptr类中找到了这个类。 类shared_ptr // ... 私人的: 结构 __nat {int __for_bool_;}; // ... }; 我明白...

回答 1 投票 0

为什么weak_ptr::use_count可能会向shared_ptr::use_count返回不同的计数?

cppreference.com 关于weak_ptr::use_count 的条目包含警告: 该函数的用法和行为与 std::shared_ptr::use_count 类似,但它返回不同的计数。 自从...

回答 1 投票 0

为什么我的 C++ stdlib 的共享指针在递减原子引用计数时使用 acq_rel 排序?

对于我机器的C++标准库,它使用宽松的排序来增加shared_ptr控制块中的引用计数,但使用acq_rel排序来减少它。它为什么要这样做呢?为什么会'...

回答 1 投票 0

使用shared_ptr实现RCU(读-复制-更新)?

我对用户空间RCU(读取-复制-更新)非常感兴趣,并尝试通过tr1::shared_ptr模拟一个,这是代码,虽然我确实是并发编程的新手,但一些专家

回答 2 投票 0

将shared_ptr从另一个函数传递给一个函数

时隔很长一段时间,我又回到了C++,继承了一个代码库,其中一部分具有以下代码的结构。我有两个对象,Wrapped 和 Wrapper,正如所料,Wrap...

回答 1 投票 0

std::unique_ptr 和悬空指针的问题

当我运行此代码时: #包括 #包括 A类{ 民众: 虚拟 std::unique_ptr 克隆() = 0; }; B 类:公共 A { 私人的: 整数b0; 民众: B(缺点...

回答 1 投票 0

错误:返回对临时 [-Werror=return-local-addr] 的引用

我有一些代码看起来像这样 类接口 {}; 包含类; 容器类 { 民众: Container() : m_contained(std::make_shared(*this)) { } 是...

回答 1 投票 0

在创建shared_ptr的副本之前,原始的shared_ptr是否可能超出范围

这可能是一个愚蠢的问题,但我无法回答。 使用下面的代码片段,输出是否有可能打印“Shared Ptr out of range” 我正在尝试的是在共享之前

回答 1 投票 0

lambda catpure 中的shared_from_this() 和weak_frome_this() 有什么区别?

我正在使用 boost::asio 创建异步客户端。我看到了两种编码风格。 使用shared_from_this 无效开始(){ tcp::endpoint 端点(boost::asio::ip::address::from_string("127.0.0.1&...

回答 1 投票 0

如何将一个shared_ptr从一个父类转换到另一个父类?

我正在重新设计我的游戏引擎以使用智能指针。我有一个对象类,所有东西都继承自它。我有一个可渲染的 GameObject,因此它继承自 IRenderabl...

回答 2 投票 0

我可以安全地将 boost::shared_array<T> 替换为 std::shared_ptr<T[]> 吗?

我正在开发一个使用 boost::shared_array 的 C++14 代码库。如果我理解正确的话,scoped_array和shared_array是新[]分配的scoped_ptr和shared_ptr的等价物,它们......

回答 1 投票 0

使用 std::shared_ptr 时 C++ 中的段错误

在下面的代码中,使用 std::shared_ptr 时出现分段错误。然而,当使用普通指针时,不会出现同样的问题。 综上所述,我想定义一个 ConstrainedVariable ob...

回答 1 投票 0

尝试用 A* 解决大型迷宫时出现 SIGSEGV

我正在用 C++ 实现 A* 寻路算法来解决迷宫问题,但当迷宫尺寸较大(~10,000x10,000 或更大)时,我遇到了分段错误 (SIGSEGV)。 错误发生在...

回答 2 投票 0

原子<shared_ptr<>>内部如何工作?

原子>内部如何工作?我并不是要求控制块的机制以及存储的数据,这对我来说很容易想象,但对于 ato...

回答 1 投票 0

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