腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
如
何以
多态
方式
通过
引用
传递
unique_ptr
?
、
、
、
、
std::
unique_ptr
生成它们。在它们创建/设置期间的某个时刻,我需要以所有派生类通用的
方式
修改它们(而不是复制或更改所有权),因此我希望使用一个函数来接受它们的基类型并
通过
引用
获取: void modifyInstance(std:<Base>' cannot bind to a value of unrelated type '
unique_ptr
<ChildA>' 难道不能以这种特殊的
方式
利用
多态</e
浏览 15
提问于2021-01-23
得票数 2
回答已采纳
3
回答
c++ -基类作为属性
、
我有一个类Player,我希望有一个成员primaryWeapon,它可以设置为从Gun类派生的任意数量的类。只是想知道该怎么做。我试过像这样设置它,但我不知道从这里往哪里走。 public: ~Player(); void move(float horizontal, float vertical);};
浏览 0
提问于2014-11-24
得票数 2
回答已采纳
1
回答
CppCoreGuidlines R.33为什么
引用
`
unique_ptr
`?
、
、
建议 以这种
方式
使用
unique_ptr
的原因是既文档又强制函数调用的重新处理语义。注意:“reseat”的意思是“使指针或智能指针
引用
不同的对象”。 我不明白为什么我们要
传递
引用
,当重新设置意味着“使指针或智能指针
引用
另一个对象”时。当函数的目的是重置/更改指针所指向的底层对象时,我们是不是以这种
方式
从调用者那里窃取了所有权,因此应该按值<
浏览 3
提问于2021-09-24
得票数 1
回答已采纳
4
回答
如何
传递
std::
unique_ptr
?
、
、
我第一次尝试使用C++11
unique_ptr
;我正在替换我的一个项目中的一个
多态
原始指针,该项目属于一个类,但
传递
频率相当高。return val;但我很快意识到我无法切换到:因为调用者必须处理指向函数的指针所有权我想将指针作为
引用
传递
,如下所示: bool func(const std::
unique_ptr
<BaseCla
浏览 3
提问于2012-06-30
得票数 101
回答已采纳
1
回答
将构造函数的参数复制到智能指针中
、
如果一个类的成员需要
多态
行为,那么它需要是一个指针或一个
引用
。如果这个成员是用构造函数参数初始化的,并且应该活到类的时间,我会看到两个选项。选项1:将
引用
参数复制到智能指针中{ std::
unique_ptr
<Type> _ptr; A(Type& parameter) : _ptr(std::make_unique<Type>(parameter)) {}选项2:使用智能指针作为参数{
浏览 1
提问于2020-04-04
得票数 1
回答已采纳
2
回答
可克隆的类层次结构和
unique_ptr
、
、
、
、
<Base> clone() const=0;这允许
通过
组合来定义存储基本层次结构的
多态
对象的新类。<Base> basePtr;
通过
这种
方式
,我应该能够在Composed中存储派生类型的对象,而不需要对派生添加了wrt Base的方法进行切片。但是,我想定义另一个对象,该对象存储从派生继承的
多态
对象,并将其视为派生类型的对象。另一方面,如果我按如下
方式
更改派生的定义{ public:
浏览 3
提问于2016-06-13
得票数 4
4
回答
多态
对象数组
、
、
、
、
我通常会发现需要创建
多态
对象的数组或向量。我通常更喜欢使用对基类的
引用
,而不是智能指针,因为它们更简单。从文档中可以看出,这就是它的预期用途之一,但是当出现包含
多态
对象的数组的主题时,常见的建议似乎是使用智能指针而不是std::reference_wrapperTL:为什么在创建
多态
对象数组时,智能指针(
如
std::
unique_ptr
浏览 1
提问于2018-09-07
得票数 12
回答已采纳
1
回答
这是使用移动
引用
和
unique_ptr
的正确
方式
吗?
、
typedef T ResourceType; void Unload(const KeyType& key); void UnloadA
浏览 2
提问于2013-09-01
得票数 3
回答已采纳
2
回答
带有
unique_ptr
问题的类
、
当使用emplace_back时,对于
传递
的参数(k,v)必须存在一个构造函数,因此我需要下面的构造函数。
unique_ptr
<string> k, v; KV (
unique_ptr
<string> k_,
unique_ptr
<string>
浏览 2
提问于2013-02-24
得票数 1
回答已采纳
1
回答
在C++容器中有效地存储
多态
游戏对象
、
、
对于一个2D游戏,我做了一个指向对象的指针向量。此对象是所有其他游戏对象继承的父类。因此,参与者就是这样一个对象,条目是,敌人是等等。包含这个向量的类(一个对象管理器)执行这个类的虚拟函数,比如run()和etc ()。
浏览 1
提问于2014-01-11
得票数 0
回答已采纳
1
回答
通过
引用
传递
对象并将其存储为成员变量
、
、
GameState::init(A* b) a = b;但我希望a是同一个对象,而不是指向该对象的指针,这样,当我想访问"a“时,就不必取消
引用
它
浏览 1
提问于2018-03-04
得票数 1
回答已采纳
3
回答
没有原始指针的C++11中的依赖项注入
、
、
在C++中,
通过
传递
原始指针是最容易实现的,但是现在使用C++11,高级代码中的所有内容都应该可以使用智能指针完成。但这个案子的最佳做法是什么呢?性能并不重要,一个干净易懂的代码现在对我更重要了。. delete distanceCalculator;}; 让我们假设复制并不是一个真正的问题,如果我们不需要
多态
但是,由于我们需要能够
传递
不同的派生实例(不进行切片),所以参数必须是原始指针、
引用
或智能指针。想到的一个解决
浏览 3
提问于2014-05-05
得票数 12
回答已采纳
2
回答
如何将模拟作为std::
unique_ptr
传递
给测试中的类
、
、
、
、
我正在使用googletest和googlemock编写一些测试单元,我陷入了一个与C++11智能指针和
多态
性相关的问题。.};private: std::
unique_ptr
<A> a_;我想测试类B,所以我为A创建了一个模拟,并将它
传递
给构造函数:public: virtual ~MockA()
浏览 0
提问于2017-10-17
得票数 5
回答已采纳
1
回答
在C++中使用
多态
成员复制对象
、
、
、
我要表示,每一个V类型的对象都拥有一个B类型的对象,B是一个
多态
类型,因此可以
通过
指针或
引用
来访问,以防止切片(C.145)。复制p是不可能的,因为它是一个
unique_ptr
,而且我现在也阻止了深度复制,除非实现了克隆函数(C.130)。虚拟克隆函数的实现是否表明设计很差?这似乎是一种解决办法。
通过
遵循C++核心准则中的这两条规则,我阻止了V的复制。如果V是图中的一个顶点,并且必须复制图,那么我就为自己制造了一个问题;再也不能复制图了。在网上搜索之后,我没有找到任何感觉自然的解决方案,我得出结论,我的思
浏览 7
提问于2022-02-11
得票数 3
回答已采纳
2
回答
使用纯抽象数据类型作为返回值?
、
我想使用纯ADT作为返回参数,
如
(Summary)所示:public: virtual int iFun() =
浏览 0
提问于2017-12-24
得票数 0
1
回答
将所有权转移到使用std::
unique_ptr
的功能
、
当我
通过
值将auto_ptr
传递
给函数时,该函数独占该指针的所有权。所以当函数结束时,它会删除我
传递
给它的指针。但是,当我尝试使用
unique_ptr
执行此操作时,会出现编译错误,就好像对
unique_ptr
禁用了复制赋值一样。
通过
引用
传递
unique_ptr
似乎并不能转移所有权,它只是给函数提供了对
unique_ptr
的
引用
。 如何让auto_ptr的行为
传递
所有权给函数,以便与
浏览 1
提问于2012-07-16
得票数 9
回答已采纳
2
回答
如何创建类的唯一指针向量
、
"running Algo2" << std::endl;}; { void runn_algo(std::
unique_ptr
upa) upa->runn_algo();}; { } } 我收到
浏览 25
提问于2021-03-26
得票数 0
回答已采纳
4
回答
拥有
多态
对象集合的首选C++习惯用法是什么?
、
、
T可以是Base*或Base&,但现在我需要信任add_item()的调用者
传递
给我一个指针或对象
引用
,当我从items检索它时,该对象仍然存在。for(int i = 0; i < 10; ++i) { }} 我确信这里面有一些与移动语义相关的东西(我可以移动
传递
给这种
多态
所有权的C++习惯用法是什么(特别是对于STL容器)?
浏览 0
提问于2013-07-09
得票数 19
回答已采纳
3
回答
多态
对象列表
、
、
、
、
“C表示...”但它不会.Any想法..我正在学习
多态
性,所以我也在下面的代码行中评论了一些与它相关的问题。
浏览 2
提问于2012-02-12
得票数 5
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
智能指针:让C+程序更加安全和高效的神器
Rust:一个不再有C/C++的,实现安全实时软件的未来
全面理解C+指针和内存管理(四)
全面理解C+指针和内存管理(一)
C+11模板参数简介
热门
标签
更多标签
云服务器
ICP备案
云直播
对象存储
腾讯会议
活动推荐
运营活动
广告
关闭
领券