腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
3
回答
应该
如何
谨慎
地
处理
std
::
shared_ptr
?
、
、
我有点惊讶地发现,当指向的对象以某种方式被删除时,
std
::
shared_ptr
没有提供任何保护(例如,抛出异常)。我想这是出于性能原因;假设
shared_ptr
正在执行其工作,
shared_ptr
所指向的对象
应该
永远不会被删除,因此浪费不断检查的周期是愚蠢的。我知道我可以显式地检查
shared_ptr
是否有效,但是如果
shared_ptr
是在“做它的工作”来维护对象的生存期,那么每次我接触
shared_ptr
时显式地检查似乎有点过分了。因此,我的问题
浏览 3
提问于2012-02-03
得票数 1
回答已采纳
1
回答
使用字符串句柄对对象进行c++通用存储和检索
、
、
、
、
::string handle,
std
::
shared_ptr
<Object> obj){ }
std
::
shared_ptr
<Object> RetrieveObject(
std
::map<
std
::str
浏览 1
提问于2014-02-23
得票数 0
回答已采纳
2
回答
这个的
std
::
shared_ptr
、
、
、
我目前正在尝试学习
如何
使用智能指针。然而,在做一些实验时,我发现了以下情况,我找不到令人满意的解决方案:class A;{::list<
std
::
shared_ptr
<B>> children;{ setParent(
std
::
shared_ptr
<A> parent){
浏览 0
提问于2012-07-30
得票数 121
回答已采纳
1
回答
我
应该
为
std
::
shared_ptr
<void>使用
std
::any吗?
、
、
、
我有几个producers和一个consumer,它们持有一个queue,当生产者产生一个对象时,它将其封装到一个
shared_ptr
中并发送给消费者队列进行
处理
,因为不同的生产者可能产生不同类型的对象> header;public: Frame(const
std
::
shared_ptr
<FrameHeader> header, const
std
::
sha
浏览 0
提问于2020-08-19
得票数 1
2
回答
自定义
std
::
shared_ptr
或boost::
shared_ptr
以在空引用上抛出异常
、
、
、
、
我有几个广泛使用boost::
shared_ptr
或
std
::
shared_ptr
的项目(如果对其中一个问题有一个很好的答案,但另一个不能解决的话,我很快就可以转换为任何一个实现)。当然,在使用
shared_ptr
之前,
应该
检查它的有效性,但是一个大型的混合范式代码库让我想要尝试一个抛出异常的变体;因为大多数代码相对来说是异常感知的,并且最多只能失败到一个高级别但可恢复的状态,而不是
std
::terminate()或分段错误。我
应该
如何
在维护
s
浏览 6
提问于2012-09-17
得票数 6
回答已采纳
1
回答
具有共享指针方法的C++类设计
、
、
我不知道
如何
处理
这个问题,其中一个类使用共享指针,但我想通过这个指针从另一个类中调用它的方法。class Bar { Bar() = default;} public:
浏览 0
提问于2021-12-18
得票数 0
回答已采纳
4
回答
在boost::variant上调用函数而不考虑类型?
、
、
、
我有一个类,它有一个模板:这个类有一个void Process(void)方法,所以我认为无论类型
如何
,它都
应该
是可调用的至于现在,我有这个代码来调用
处理
我的应用程序中的每个帧:typedef boost::variant<
std
::
shared_ptr
<slider<int>>,
std
::
shared_ptr
浏览 0
提问于2013-05-17
得票数 0
1
回答
如何
创建类型参数个数可变的模板?
、
、
在我们的代码库中,我们经常使用
std
::variant<
std
::
shared_ptr
<SomeClass>, ...>。 这显然需要大量的写作。
如何
制作模板?T> using VarSP =
std
::variant<
std
::
shared_ptr
<???>>; 在上面的代码片段中,T
应该
放在哪里?所需的行为
应该
是: VarSP<Foo, Bar, Baz>
浏览 12
提问于2019-09-02
得票数 8
回答已采纳
1
回答
在
shared_ptr
上使用BOOST shared_array的好处
、
、
但是,我不确定
应该
使用哪个智能指针来动态分配数组
shared_ptr
或shared_array。根据从Boost版本1.53开始的BOOST doc ,可以使用
shared_ptr
来保存指向动态分配数组的指针. 所以我现在想知道用户
应该
使用shared_array而不是
shared_ptr
。
浏览 2
提问于2014-09-22
得票数 6
回答已采纳
2
回答
C++:抽象工厂可以
处理
模板类吗?
、
、
、
、
) myMember(
std
::make_shared<T>(inputName))private: : {}我有多个这样的派生类(每个派生类可以有不同的构造函数签名),我想做一个抽象工厂来
处理
实例化基础工厂是c
浏览 6
提问于2020-03-20
得票数 0
1
回答
使用*这个作为
std
::
shared_ptr
、
、
、
::
shared_ptr
<bar>> a_signal; { { {
std
::cout << "you haxor!"
std
::map<int, <e
浏览 3
提问于2014-07-25
得票数 2
回答已采纳
1
回答
使用GoogleMock模拟由测试代码创建的实例
、
、
、
write(
std
::string data);并使用该接口,例如:{ SomeThing(
std
::
shared_ptr
<DataStream::vector<uint8_t>&));}
std
::
shared_ptr
&
浏览 0
提问于2018-09-13
得票数 0
回答已采纳
1
回答
我
应该
使用const
shared_ptr
<T>&或
shared_ptr
<T>作为lambda函数的参数吗?
、
我看到了一个通过网络接收视频数据包的C++11库,为了决定
如何
处理
这些数据包,它使用了这样的lambda函数: viedoTrack->addDelegate(
std
::make_shared<FrameWriterInterfaceHelperFrame::Ptr就是
shared_ptr
<Frame>。我不喜欢接收
shared_ptr
引用的想法。对我来说,
shared_ptr
的指针
应该
以副本的形式传递,因此lambda函数拥有一个副本,如果它花
浏览 0
提问于2019-09-15
得票数 0
2
回答
使用
std
::
shared_ptr
对象实例创建boost::thread
、
、
、
、
我的问题是,给出下面的代码,当尝试基于
shared_ptr
代理的对象实例创建线程时,正确的语法是什么?template argument for 'const
std
::auto_ptr<_Ty> &' from '
std
::tr1::
shared_ptr
<_Ty>' c:\program files::auto_ptr<_Ty> &)' : could not deduce template argument for &
浏览 1
提问于2012-07-23
得票数 5
回答已采纳
4
回答
shared_ptr
的输入迭代器
T &operator*() { return *_i; }
std
::
shared_ptr
<T> _i;
std
::
shared_ptr
<Type> item = ???我
应该
这样做: MyInterfaceIterat
浏览 0
提问于2012-10-11
得票数 2
回答已采纳
3
回答
shared_ptr
如何
处理
纯虚拟基类的副本?
、
、
Class B希望接收
shared_ptr
<IError>的一个实例。我想了解这个场景是
如何
处理
的。作为模板类的
shared_ptr
如何
处理
到IError的转换 在B接收
shared_ptr
<A>的简单情况下,我假设调用复制构造函数并增加引用计数器。::cout << "Error Occured" <<
std
::end
浏览 10
提问于2022-08-19
得票数 3
回答已采纳
1
回答
将指针传递到
shared_ptr
线程安全
、
、
、
、
<string>#include <atomic> B(
std
::
shared_ptr
<Smth>* smth) : smth_(smth) {}; void DoSomething() {
std
::
shared_ptr
<Smth> newSmth = <em
浏览 1
提问于2018-01-04
得票数 2
1
回答
在头文件中使用lambda定义priority_queue
头文件源文件 auto readyQueueComparator = [](const
std
::
shared_ptr
<Process> &first, const
std</
浏览 0
提问于2018-11-19
得票数 1
回答已采纳
6
回答
带boost::
shared_ptr
的空指针?
、
、
、
、
下面的内容是什么意思:vec.push_back(NULL);vec.push_back(boost::
shared_ptr
<Foo>()); 注意:我可能会推回很多这样的对象。我
应该
在某个地方声明一个全局静态nullPtr对象吗
浏览 8
提问于2009-03-07
得票数 57
4
回答
多形性地使用向量与数组的差异
、
基于更有效的C++ 条目3:永远不要多形性地
处理
数组,我们
应该
避免多形性地
处理
数组。#include <vector> public:
std
{ virtual void PrintMe() const { <
浏览 3
提问于2013-02-19
得票数 1
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
智能指针:让C+程序更加安全和高效的神器
这几个C+的坑,一旦踩中了,加班是肯定避免不了了!
实现线程安全队列——细粒度锁实现
诸多文件表格,我应该如何处理?
meesho卖家应该如何进行订单处理
热门
标签
更多标签
云服务器
ICP备案
对象存储
腾讯会议
云直播
活动推荐
运营活动
广告
关闭
领券