C++/CLI 包装返回 std::shared_ptr 的函数
我目前正在使用 C++/CLI 包装 C++ 类,以实现 .NET 互操作性,遵循在托管类中保存本机指针的标准流程。在一个实例中,我有一个本机类,其功能如下: s…
不存在合适的构造函数来从“哑指针”转换为“哑指针”。到“智能指针”
struct A { A(int a); }; struct B { B(); void b(std::shared_ptr a); }; int main() { A a(1); B b; b.b(&a); } 所以我收到了这个错误,抱歉,这是…
矢量的隐式转换>到向量 >
根据 此页面 您可以隐式转换 将shared_ptr 更改为shared_ptr。这很有道理。 但是,当我尝试将包含 shared_ptr 的 std::vector 转换为包含 shared_ptr …
安全地将(shared_ptr 到对象的向量)转换为(shared_ptr 到常量对象的向量)
class A {}; typedef shared_ptr AConstPtr; typedef shared_ptr APtr; vector ptr; const vector* foo() { return &ptr; } 此代码无法编译,因为“没…
boost::factory 创建 boost::enable_shared_from_this 类
我有多个从 A 派生的类 class A : public boost::enable_shared_from_this { public: typedef boost::shared_ptr pointer; static pointer create(tcp…
C++:“...不是多态类型”使用 boost::dynamic_pointer_cast 时
为什么我会收到以下代码的以下错误? 1>C:\Libs\boost_1_44\boost/smart_ptr/shared_ptr.hpp(259): error C2683: 'dynamic_cast' : 'my_namespace::A'…
使用shared_ptr处理可靠的命令模式
我正在尝试在库中实现一个非常干净的命令模式。 我现在有以下结构(一些部分仍在完成中): 用户(客户端代码)有一些对象,称其为“Manager” Manage…
C++依赖注入 - 通过引用还是通过 boost::shared_ptr?
在需要构造函数依赖注入的情况下,使用通过引用注入与使用boost::shared_ptr相比有哪些注意事项? 还有另一种常见的方法吗?与上述两种方法相比如何?…
C++ shared_ptr 相等运算符
shared_ptr 的相等运算符定义如下: template inline bool operator==( shared_ptr const & a, shared_ptr const & b) { return a.get() == b.get(); …
(Ab)使用shared_ptr作为引用计数器
最近我想到了一个狡猾的计划(tm :P)) 我必须更新程序中的设置结构(假设每 15 秒更新一次)。设置结构由多个函数使用,并且每个函数都由多个线程调用…
套接字创建的 Shared_Ptr - 出了什么问题?
所以我尝试: boost::shared_ptr socket = boost::make_shared(io_service); 如上所述此处。但它给我带来了一个错误: 编译器告诉我它无法转动( erro…
包含 时出错在iOS预编译头文件中
我正在开发一个 iOS 应用程序,并使用 Boost 库中的共享指针。我的应用程序有点笨重,所以我一直在努力精简它。我认为移动这一行: #include 从单个文…
删除指向不完整类型和智能指针的指针
当尝试使用带有前向声明的类型的 auto_ptr 时,如下所示: class A; ... std::auto_ptr a; A 的析构函数未被调用(显然,因为 auto_ptr 内部删除底层…
安全的 std::tr1::shared_ptr 用法
这种方法不安全吗? #include Foo * createFoo() { return new Foo(5); } int main() { std::tr1::shared_ptr bar(create()); return 0; } 或者 creat…