shared-ptr 相关问题

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

`Std:: shared_ptr` vs` std ::可选`for thread for thread safequeue

Anthony Williams(2012年)的“ C ++并发行动中的C ++并发性”,通过存储std::shared_ptr<T>

回答 1 投票 0




理解C ++ std ::shared_ptr

我有一个问题,请浏览以下简单的C ++程序, int main() { shared_ptrSptr1(new int); shared_ptrSptr2= sptr1; shared_ptrSptr3;

回答 3 投票 0

为什么我不能将nullptr施加到feek_ptr <>

类myclass { 民众: myClass(std ::feek_ptr父){} } 我想这样做: auto newInstance = std ::make_shared(nullptr); 或neak_ptr argumen的默认值...

回答 3 投票 0

转换构造函数中不同模板的shared_ptr之间的转换

我有一个 Baseand Derived 类和另一个 Wrapper 类,它持有一个指向 Base 的共享指针以具有多态性。 Wrapper 类应该有一个转换构造函数来复制构造一个 Wrapp...

回答 1 投票 0

原子共享指针背后的要旨 我正在寻找一些原子共享指针的示例和用例,我遇到了无锁的堆栈实现。该实现使用共享指针将下一个节点地址保存在节点

template <typename T> struct Stack { struct Node { T t; shared_ptr<Node> next; }; atomic<shared_ptr<Node>> head; void push_front(T t) { auto p = make_shared<Node>(std ::move(t), head.load()); while (!head.compare_exchange_weak(p->next, p)) {} } optional<T> pop_front() { auto p = head.load(); while (p != nullptr && !head.compare_exchange_weak(p, p->next)) {} if (p != nullptr) return {std ::move(p->t)}; else return {}; } };

回答 1 投票 0

boost::asio::read 抛出编译错误 'read_some' 不是 'boost::shared_ptr<boost::asio::ip::tcp::socket>' 的成员

我正在尝试构建一个客户端以通过特定协议从服务器获取数据。 我知道我的代码不是最好的 - 但目前我仍在尝试 Boos 的基本功能...

回答 1 投票 0

复制虚拟基类会导致丢失shared_ptr拥有的对象

同事给我看了这个程序: #包括 #包括 结构体A { std::shared_ptr u{ 新 int }; }; 结构体B:虚拟A{}; 结构 C :虚拟...

回答 1 投票 0

使用缓存和堆栈分配选项管理 re2::RE2 对象的生命周期

我有一个函数 re02_match(regexp, use_cache, ...) ,我需要根据是否应该使用缓存对象 (use_cache = true) 还是堆栈分配对象来不同地处理 re2::RE2 对象

回答 1 投票 0

C++ 为什么当我们有shared_ptr use_count()时还需要weak_ptr?

问一个愚蠢的问题。据我了解,weak_ptr 的一种用法是检查对象上共享指针的计数状态。我们不能只使用shared_ptr use_count() 来获取此信息吗?我...

回答 1 投票 0

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

如果我使用自定义删除器创建单个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

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.