smart-pointers 相关问题

一种抽象数据类型,它在提供附加功能时模拟指针,例如自动垃圾收集或边界检查

如何使用智能指针在C'对象'周围实现包装?

我正在使用一个C库,该库使用来自C ++的原始指针。因此,我正在研究将指向C对象的所有指针包装在C ++类中,并将它们转换为智能指针。我建立了一个可以正常工作的...

回答 2 投票 2


Class'方法和对象。参考?智能指针?简单的初始化?

在过去的几天里,我一直在研究参考书和智能指针,但我仍然不知道何时使用它。特别是对于非常简单的程序,我正在尝试编写。 ...

回答 1 投票 0

允许调用者在我的Builder类中使用任何指针类型(包括智能指针?)>

为Foo实现Builder的标准方法如下:class Foo :: Builder {public:Builder&setBar(bool bar); ... Foo build()const; };仅当呼叫者尝试使用此方法时...

回答 1 投票 0

引用计数智能指针的引用计数如何工作?

换句话说,实现如何跟踪计数?是否维护了一个类似于地图的对象,所有shared_ptr实例都可以访问该实例,这些实例的键是指针的地址,并且...

回答 7 投票 29

另一种类型的智能ptr,例如具有弱引用的unique_ptr?

我最近遇到了一个问题,即unique_ptr和shared_ptr都不是正确的解决方案。因此,我正在考虑发明另一种智能ptr(如下所述),但我自己想到:“ ...

回答 1 投票 2

cppyy继承包含智能指针的类

这是从包含智能指针的类继承的简单示例。我们对此不做任何事情,只需声明它即可。 import cppyy cppyy.cppdef(“”“类示例{private:std:...

回答 1 投票 2

将智能指针与容器配合使用的原因

简而言之,我想问“使用智能指针的一个好理由是什么?”对于前std :: unique_ptr,但是,我并没有要求在常规(哑)指针上使用智能指针的原因。我...

回答 3 投票 2

返回weak_ptr成员变量

我有以下TreeNode类,它可以存储对其父节点的引用以及指向其所有子节点的指针的向量。 TreeNode类TreeNode:public std :: enable_shared_from_this&...

回答 1 投票 0

了解在传递给函数时shared_ptr参考计数增加的原因

我有以下Container类模板 class Container {private:std :: vector > items_; public:void addItem(std :: shared_ptr ... ...> ]

回答 2 投票 3

为CHeapPtr创建自定义分配器(用于Sqlite)

我想使用CHeapPtr为sqlite3创建一些智能指针。 CHeapPtr默认情况下使用CCRTAllocator类,因此我想我将创建一些自定义分配器类,这些类继承自...

回答 1 投票 0

如何创建智能指针向量

我实际上是C ++的初学者,我正在尝试学习以专业的方式使用C ++。现在,我编写了一个程序以获取数量有限的员工规格,包括姓名,年龄,薪水和...

回答 1 投票 0

关于唯一指针的问题

unique_ptr&operator =(unique_ptr && _Right)noexcept {if(this!= _STD addressof(_Right)){reset(_Right.release()); _Mypair._Get_first()= _STD转发 (...

回答 1 投票 1

没有匹配的成员函数调用'push_back',共享指针的向量

我有一个Container类,用于存储共享指针的向量。每当将项目附加到容器时,我都希望它承担该项目的所有权。换句话说,当...

回答 1 投票 1

std :: unique_ptr初始化方法

我看到std :: unique_ptr具有以下初始化方式:std :: unique_ptr sc_ptr {new some_class};其中有人可以从下面删除分配的some_class ...

回答 1 投票 0

释放之前的临时指针?

我看了atlbase.h,看看如何实现CComPtr <>,偶然发现了基类CComPtrBase <>中的Release()函数,该函数释放底层对象,如下所示:// ...

回答 1 投票 0

Smartpointers不能与Delphi中的通用TObjectlist一起很好地工作

我正在使用Spring4D在Delphi 10.3 Rio中测试智能指针。这是我的测试程序。我创建了一个通用的TObjectList,我想使用Shared.Make(TTestObj.Create)将简单的TObject添加到此列表...

回答 2 投票 0

使用std :: move分配一个unique_ptr无效

我对C ++和智能指针还是相当陌生,但是据我了解,我可以为std :: move(另一个unique_ptr)分配一个unique_ptr。当我尝试使用std :: move(..)分配unique_ptr时,它会抛出...

回答 1 投票 0

从shared_ptr获取正常的ptr?

我有诸如shared_ptr t(makeSomething(),mem_fun(&Type :: deleteMe))之类的东西,现在我需要调用C类型的函数,该函数需要一个指向Type的指针。如何从shared_ptr获得它?

回答 3 投票 51

“调用删除的函数的用法” std :: unique_ptr`移动构造函数?

当定义一个函数引用std :: unique_ptr对象的函数时,我面临编译问题。 #include class foo {public:foo(){/ * * /}; };无效函数(...

回答 1 投票 0

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