引用计数智能指针类实现共享所有权
使用缓存和堆栈分配选项管理 re2::RE2 对象的生命周期
我有一个函数 re02_match(regexp, use_cache, ...) ,我需要根据是否应该使用缓存对象 (use_cache = true) 还是堆栈分配对象来不同地处理 re2::RE2 对象
C++ 为什么当我们有shared_ptr use_count()时还需要weak_ptr?
问一个愚蠢的问题。据我了解,weak_ptr 的一种用法是检查对象上共享指针的计数状态。我们不能只使用shared_ptr use_count() 来获取此信息吗?我...
如果我使用自定义删除器创建单个shared_ptr并且该shared_ptr被销毁,则自定义删除器将被调用 - 在该删除器的体内,shared_ptr的值将是多少
我最近开始将许多现有的类迁移到使用智能指针,我有一些关于如何移植一些我认为可以从使用智能指针中受益的代码的问题...
使用命名空间提升; A类{}; B 类:公共 A {}; X类{ 虚拟shared_ptr foo(); }; Y 类:公共 X { 虚拟shared_ptr foo(); }; 返回类型不是
我尝试制作以下示例。 结构BaseSPtr{}; 结构 DerivedSPtr : 公共 BaseSPtr{}; 基类{ 民众: //虚拟shared_ptr函数(); 虚拟 BaseSPtr*
我有一些类的层次结构(通过组合,而不是继承):子类和父类。孩子可以有多个父母,父母也可以这样做。我希望 Child 类的生命周期是法力...
我有一些类的层次结构(通过组合,而不是继承):子类和父类。孩子可以有多个父母,父母也可以这样做。我想要儿童班终生成为妈妈......
我翻阅了clang的C++标准库,在shared_ptr类中找到了这个类。 类shared_ptr // ... 私人的: 结构 __nat {int __for_bool_;}; // ... }; 我明白...
为什么weak_ptr::use_count可能会向shared_ptr::use_count返回不同的计数?
cppreference.com 关于weak_ptr::use_count 的条目包含警告: 该函数的用法和行为与 std::shared_ptr::use_count 类似,但它返回不同的计数。 自从...
为什么我的 C++ stdlib 的共享指针在递减原子引用计数时使用 acq_rel 排序?
对于我机器的C++标准库,它使用宽松的排序来增加shared_ptr控制块中的引用计数,但使用acq_rel排序来减少它。它为什么要这样做呢?为什么会'...
我对用户空间RCU(读取-复制-更新)非常感兴趣,并尝试通过tr1::shared_ptr模拟一个,这是代码,虽然我确实是并发编程的新手,但一些专家
时隔很长一段时间,我又回到了C++,继承了一个代码库,其中一部分具有以下代码的结构。我有两个对象,Wrapped 和 Wrapper,正如所料,Wrap...
当我运行此代码时: #包括 #包括 A类{ 民众: 虚拟 std::unique_ptr 克隆() = 0; }; B 类:公共 A { 私人的: 整数b0; 民众: B(缺点...
错误:返回对临时 [-Werror=return-local-addr] 的引用
我有一些代码看起来像这样 类接口 {}; 包含类; 容器类 { 民众: Container() : m_contained(std::make_shared(*this)) { } 是...
在创建shared_ptr的副本之前,原始的shared_ptr是否可能超出范围
这可能是一个愚蠢的问题,但我无法回答。 使用下面的代码片段,输出是否有可能打印“Shared Ptr out of range” 我正在尝试的是在共享之前
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&...
我正在重新设计我的游戏引擎以使用智能指针。我有一个对象类,所有东西都继承自它。我有一个可渲染的 GameObject,因此它继承自 IRenderabl...
我可以安全地将 boost::shared_array<T> 替换为 std::shared_ptr<T[]> 吗?
我正在开发一个使用 boost::shared_array 的 C++14 代码库。如果我理解正确的话,scoped_array和shared_array是新[]分配的scoped_ptr和shared_ptr的等价物,它们......
使用 std::shared_ptr 时 C++ 中的段错误
在下面的代码中,使用 std::shared_ptr 时出现分段错误。然而,当使用普通指针时,不会出现同样的问题。 综上所述,我想定义一个 ConstrainedVariable ob...