腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
4
回答
如何
正确
使用
std
::
shared_from_this
或
绕过
它
?
c++
、
memory-management
我知道share_from_this是
正确
的方法,但我无法理解
它
(以及
如何
正确
使用
它)。 我想出了一个窍门,我想知道它是否安全(没有UB)。如果不是,你能给我解释一下
如何
在我的案例中
使用
share_from_this吗?#include <memory> void library_function(
std
::shared_ptr<T>) <e
浏览 56
提问于2017-01-18
得票数 0
回答已采纳
1
回答
使用
具有多重继承的enable_shared_from_this
c++
、
c++11
、
shared-ptr
、
multiple-inheritance
、
enable-shared-from-this
BI我在我的代码中
使用
了enable_shared_from_this,我不确定
它
的用法是否
正确
。代码如下:{ void foo1() auto ptr=
shared_from_this
(); }; { p
浏览 6
提问于2013-04-18
得票数 25
回答已采纳
2
回答
enable_shared_from_this在虚拟析构函数多态继承中的应用
c++
、
inheritance
、
c++14
、
shared-ptr
、
virtual-destructor
可能在传递给其他地方的lambda表达式中
使用
this (包装在shared_ptr中),因此我需要确保在需要时
正确
删除
它
。但我了解到,通常情况下,您不能通过继承
使用
std
::enable_shared_from_this (除了
使用
模板,
它
实际上不再是继承了)。据我理解,这是由于可能错误地破坏了实例。在这种情况下,我假设我的代码会正常工作,因为
它
使用
了一个虚拟析构函数(无论
如何
都是需要的)。 那么,我的理论是<em
浏览 5
提问于2020-07-24
得票数 1
回答已采纳
1
回答
std
::enable_shared_from_this ...一个新的shared_ptr知道要
使用
shared_from_this
()吗?
c++
、
boost
、
shared-ptr
(最近从Boost添加到
std
){ 我知道我应该从这样的实例创建共享指针:
std
::shared_ptr<Blah> good(b->
shared_from_this
()); 问题是,如果我这样做,它是否会隐式地获取对象的weak_ptr:
std
::shared_ptr<Blah> bad(new
浏览 0
提问于2011-05-17
得票数 3
回答已采纳
2
回答
具有前向声明的`
std
::make_unique`和`
std
::unique_ptr`之间的奇怪行为
c++
、
c++11
、
c++17
、
shared-memory
、
unique-ptr
std
::make_unique<T>需要C++ 17的特性,很遗憾我不得不
使用
C++11。当我将代码片段移植到C++11时,我发现了一件奇怪的事情。
使用
的make_unique运行良好:#include <memory>struct View;
std
::unique_ptr<V
浏览 6
提问于2022-06-12
得票数 -1
回答已采纳
1
回答
在构造函数中调用
shared_from_this
()是否很危险?
c++
、
constructor
、
this
、
shared-ptr
为了解决这个问题,我想出了一个窍门:{ MyClassprevent the instance from being destroyed when it auto ptr =
std
我不会
使用
“this”来访问成员变量
或
函数。此外,只要我
使用
初始化程序列
浏览 7
提问于2015-10-11
得票数 9
回答已采纳
2
回答
或者
如何
从从unique_ptr继承的类返回enable_shared_from_this
c++
、
memory-management
、
shared-ptr
、
smart-pointers
、
unique-ptr
如果我从enable_shared_from_this继承类,我只
使用
return
shared_from_this
,但我认为它与惟一的所有权无关 换句话说,在类中的某个地方创建的unique_ptr(当然不
使用
shared_from_this
() )是否与从这个unique_ptr创建的(潜在的) shared_ptr有某种联系?
浏览 2
提问于2017-12-01
得票数 4
回答已采纳
2
回答
enable_shared_from_this的需求是什么?
c++
、
c++11
、
boost
、
shared-ptr
shared_from_this
();}; {
std
::shared_ptr‘的指针时,为什么不
使用
obj本身。为什么要从该类的函数返回'this‘,就像
使用
getptr()然后返回
shared_from_this
()一样?我什么都不了解。我可以
使用
enable_shared_from_
浏览 8
提问于2016-03-17
得票数 6
2
回答
shared_from_this
()
如何
在继承自enabled_shared_from_this的基类的派生类中工作
c++
、
inheritance
、
shared-ptr
我想知道我对shared_ptr和
shared_from_this
()是
如何
工作的,以及内存分配是
如何
工作的,我的理解是否是最新的。();
std
::cout << "Both have same starting address";}
std
::vector<int> myVector;{ auto s
浏览 0
提问于2016-09-11
得票数 2
1
回答
带boost智能指针的bad_weak_ptr
c++
、
networking
、
boost-asio
、
boost-beast
我
使用
这种架构: 但是,在构建时,我遇到了一个问题:bad_weak_ptr,我不知道出了什么问题:这里有一个指向源的链接更新3 :如果我做了websocket_session_ptr new_websocket(new websocket_session(
std
::move(socket
浏览 1
提问于2018-12-15
得票数 1
2
回答
enable_shared_from_this (c++0x):我做错了什么?
c++
、
c++11
、
shared-ptr
、
smart-pointers
但是,我没有掌握
shared_from_this
函数的用法。
std
::shared_ptr<CVerboseBornAndDie2> p = vbad->
shared_from_this
();它在代码行中抛出了一个
std
::bad_weak_ptr异常如果我这么做了
std
::shared_pt
浏览 3
提问于2010-12-13
得票数 9
回答已采纳
1
回答
野兽async_read()是
如何
工作的&它有选择吗?
c++
、
websocket
、
boost-asio
、
ibm-watson
、
boost-beast
为此,我
使用
的是boost::beast库,
它
封装在boost::asio基本原理之上。} void现在,我已经放置了一个if,它将告诉我的程序,是否我的写作是完整的
或
不?如果没有,那么程序应该返回到写部分并编
浏览 1
提问于2019-04-05
得票数 1
回答已采纳
1
回答
asio::io_service::strand的
正确
用法?
c++
、
boost-asio
std
::bind(&client_connection::handle_read_predicate, this->
shared_from_this
(),
std
::placeholders::_1,
std
::placeholders::_2), this->strand_.wrap(
std
::bind(&client_connection::handle_read, this->
sha
浏览 0
提问于2013-04-08
得票数 0
回答已采纳
1
回答
从析构函数中传出指向此对象的共享指针
c++
、
this
、
destructor
、
shared-ptr
我有一个对象BagOfThings,
它
存储了一组Thing和一组BagOfThingsListener,它们想知道何时在添加到的Thing中添加
或
从BagOfThings中删除它们。=end(listeners); ++it) { } (*it2)->thingRemoved(
shared_from_t
浏览 3
提问于2013-02-27
得票数 0
5
回答
在
shared_from_this
()中
使用
没有托管共享指针的C++11
c++
、
pointers
、
c++11
、
std
、
shared-ptr
这个基类的文档说明在调用
shared_from_this
之前应该有一个共享指针,
它
拥有这个类。用new分配类并调用
shared_from_this
来管理对象安全吗?
浏览 6
提问于2015-12-10
得票数 6
回答已采纳
3
回答
boost
shared_from_this
与多重继承
c++
、
shared-ptr
、
multiple-inheritance
、
enable-shared-from-this
目前,我在
使用
boost enable_shared_from_this和多重继承时遇到了一些问题。类D继承了A和B (class D : public A, public B {})的功能 我不知道
如何
解决这个问题。哦,我
使用
的是视觉C++ 2010。
浏览 4
提问于2013-02-18
得票数 14
1
回答
动态分配的实现-类
std
::异步其成员
multithreading
、
c++11
、
asynchronous
、
shared-ptr
考虑具有标准异步接口的操作:在内部,op需要执行(变量)数目的异步操作才能完成;这些操作的数量是有限的,但没有限制,并且取决于以前异步操作的结果。
std
::async(&shared::do_op, this);} { s.launch_next_ops
std
::async(&shared::do_op, this,
shared
浏览 2
提问于2015-06-05
得票数 2
回答已采纳
1
回答
返回更专门化对象的最佳方法
c++
、
oop
virtual
std
::shared_ptr<BaseDefinition> GetDefinition() { return m_def; } 现在与Base的类树并行,BaseDefinitionChild1的GetDefinition()实现将返回一个
std
::shared_ptr<Child1Definition>。然而,GetDefinition()的返回类型当然是
std
::shared_ptr<BaseDefinition>,只要我们有Base*指针,这也是完全
正确
的。但是
浏览 2
提问于2014-08-20
得票数 1
回答已采纳
3
回答
enable_shared_from_this的双重遗传
c++
、
shared-ptr
、
multiple-inheritance
、
enable-shared-from-this
我有一个对象(Z),
它
来自另外两个对象(A和B)。当然,我在Z上调用了
shared_from_this
(),当然编译器将此报告为模棱两可。我也应该
使用
virtual的技巧吗?
浏览 1
提问于2013-03-21
得票数 10
回答已采纳
4
回答
如何
同时对父对象和派生对象执行enable_shared_from_this
c++
、
boost
、
smart-pointers
我有简单的基类和派生类,我希望它们都有
shared_from_this
()。() return boost::static_pointer_cast<bar2>(foo::
shared_from_this
());public:virtual function<void()> get_callback() return boost::bind(&bar2::bar2_do_it,
shared_from_this
());}; 现在
浏览 1
提问于2009-03-18
得票数 42
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
令人沮丧的C++性能调试
并发编程大放异彩:探究C+多线程编程的奇妙世界
全面理解C+指针和内存管理(一)
智能指针:让C+程序更加安全和高效的神器
VS2019 v16.10中头文件更新了
热门
标签
更多标签
云服务器
即时通信 IM
ICP备案
对象存储
实时音视频
活动推荐
运营活动
广告
关闭
领券