腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
如果
找到
函数
,
则
启用
复制
构造
函数
、
、
但这不起作用:定义的移动
函数
要求我以Handle(const Handle&)的形式逐字添加一个
复制
函数
,似乎不允许模板欺骗,否则编译器会认为
复制
函数
已被隐式删除。 我能做什么?
浏览 9
提问于2019-07-30
得票数 3
回答已采纳
1
回答
包含原子类的向量
、
、
、
、
我试过几个: 对于foo (foo和其他),它会抱怨没有为foo
找到
复制
构造
函数
。编辑:
复制
构造
函数
为foo(foo&其他):other.atomic.load() {
浏览 1
提问于2018-05-14
得票数 1
回答已采纳
2
回答
为什么禁用CObject的
复制
构造
函数
和赋值
、
、
默认情况下,MFC的根对象CObject的
复制
构造
函数
和赋值被禁用。 在MSDN中,有一个。标准的C++默认类
复制
构造
函数
按成员进行成员
复制
.
如果
需要类的
复制
构造
函数
(但不可用),
则
私有CObject
复制
构造
函数
的存在保证了编译器错误消息。因此,
如果
类需要此功能,
则
必须提供副本
构造
浏览 0
提问于2010-06-21
得票数 8
回答已采纳
1
回答
什么意思移动操作从未被定义为已删除的
函数
?
、
、
除了一个重要的例外,当合成的移动操作被定义为删除时的规则类似于
复制
操作的规则(第13.1.6节,第508页): 与
复制
构造
函数
不同,
如果
类的成员定义了自己的
复制
构造
函数
,但也没有定义移动
构造
函数
,或者类的成员没有定义自己的
复制
操作,且编译器无法合成移动
构造
函数
,
则
移动
构造
函数
被定义为已删除。同样,对于move
浏览 1
提问于2020-02-02
得票数 0
1
回答
C++中一类隐式成员
函数
C++中类的隐式成员
函数
是: As per:
复制
构造
函数
如果
没有移动
构造
函数
或移动赋值操作符显式地declared.If,则声明析构
函数
生成副本
构造
函数
。
如果
没有显式声明
复制
构造
函数
、移动赋值运算符或析构<em
浏览 2
提问于2013-02-14
得票数 6
回答已采纳
1
回答
移动
构造
器选择而不是
复制
。[提及性病]
、
、
有人能指点我在哪里能
找到
吗?prvalue 当用作
函数
参数时,当
函数
的两个重载可用时(一个使用rvalue引用参数,另一个使用对const参数的lvalue引用,
则
rvalue绑定到rvalue引用重载(因此,
如果
复制
和移动
构造
函数
都可用,
则
rvalue参数调用移动
构造
函数
,同样地,使用copy和move赋值运算符)。
浏览 1
提问于2019-05-16
得票数 1
回答已采纳
2
回答
如果
我们只定义
复制
构造
函数
/ defined =,为什么移动
构造
函数
/移动分配没有被隐式声明并被定义为已删除?
、
按照C++标准12.8.7: 我想知道为什么移动
构造
函数
/移动分配没有被隐式声明和定义为已删除(在本例中,c++11标准不
浏览 2
提问于2015-02-16
得票数 3
回答已采纳
3
回答
如果
一个人不知道它的参数类型,怎么能默认一个特殊的成员
函数
呢?
、
、
. */ }};
如果
隐式声明的
复制
构造
函数
将具有A &类型,
则
我希望使用参数类型A &显式地默认
浏览 11
提问于2011-05-29
得票数 4
回答已采纳
3
回答
[C++11: 12.8/7]有意义吗?
、
如果
类定义没有显式声明副本
构造
函数
,
则
[C++11: 12.8/7]:将隐式声明一个副本
构造
函数
。
如果
类定义声明了一个移动
构造
函数
或移动赋值操作符,
则
隐式声明的
复制
构造
函数
被定义为已删除;否则,将定义为defaulted (8.4)。
如果
类具有用户声明的
复制
赋值操作符或用户声明的析构
函数
,则不建议使
浏览 3
提问于2012-01-13
得票数 4
回答已采纳
3
回答
删除默认
构造
函数
(以及
复制
控制成员)缺少规则?
我的c++书(lippman,c++引物,第五版,第508页)提供了以下4条规则,用于计算编译器何时将
复制
控制和默认
构造
函数
合成为已删除的成员:
如果
类的成员自己的析构
函数
被删除或无法访问(例如,私有),
则
合成析构
函数
被定义为已删除。
如果
类的成员自己的副本
构造
函数
被删除或无法访问,
则
合成
复制
构造
函数
被定义为已删除。
如果</em
浏览 4
提问于2013-01-28
得票数 1
回答已采纳
3
回答
为什么隐式
复制
构造
函数
调用基类
复制
构造
函数
而定义的
复制
构造
函数
不调用?
、
、
如果
没有在B中定义
复制
构造
函数
,编译器将合成一个。当调用该
复制
构造
函数
时,此
复制
构造
函数
将调用基类
复制
构造
函数
(
如果
用户未提供任何副本
构造
函数
,
则
即使是合成的)。输出:A::Default constructorCreat
浏览 0
提问于2012-02-07
得票数 38
回答已采纳
1
回答
按值返回是调用
复制
构造
函数
还是
复制
赋值操作符?
、
、
、
、
在c++中,当对象在
函数
中按值返回时,真正的步骤在下面,对吗?完全,第三次调用
构造
函数
。local(普通
构造
器)->temp(
复制
构造
函数
) --> 外部(
复制
构造
函数
或
复制
分配操作符) 将
浏览 2
提问于2015-11-19
得票数 1
2
回答
赋值运算符不调用参数化
构造
函数
,而将
构造
函数
复制
到代码中。
、
、
、
、
案例1:当我使用赋值操作符创建类对象时,
如果
代码中没有
复制
构造
函数
,
则
调用参数化
构造
函数
。下面的代码没有
复制
构造
函数
: public: Test(int a){ }intmain(){ cout<<x.a;} 案
浏览 4
提问于2021-10-05
得票数 1
回答已采纳
1
回答
类对象的
复制
列表初始化是用户定义的转换。
、
对于
复制
列表初始化规则 否则,
如果
T是类类型,
则
考虑
构造
函数
。列举了适用的
构造
函数
,并通过过载解析(over.match,over.match.list)选择了最优的
构造
函数
。
如果
需要收缩转换(见下文)来转换任何参数,
则
程序的格式是错误的。
如果
找不到可行的初始化程序列表
构造
函数
,
则
再次执行重载解析,其中候选
函数</em
浏览 1
提问于2020-02-26
得票数 0
回答已采纳
5
回答
如何验证
复制
构造
函数
的参数?
、
、
、
、
} this(source.width, source.height);} 假设我有一个具有多个
构造
函数
的类,其中一个是
复制
构造
函数
(用于
复制
对象)。有没有什么方法可以检查
复制
构造
函数
中的源是否为空,
如果
是,
则
抛出IllegalArgumentException?因为另一个
构造
<em
浏览 0
提问于2017-07-05
得票数 3
5
回答
链接
构造
函数
时的Java空参数
、
、
假设我有一个具有多个
构造
函数
的类,其中一个是
复制
构造
函数
(
复制
一个对象): this(source.width, source.height);} 有没有办法检查source在
复制
构造
函数
中是否
浏览 2
提问于2016-07-29
得票数 9
回答已采纳
1
回答
为什么RVO不与移动
构造
函数
一起工作?
、
、
return 0;产出如下:B(const B&&) 2~B() 2这意味着调用move
构造
函数
为什么不调用副本
构造
函数
: B(const &) B(const B&) 1~B() 1 然而,的场
浏览 4
提问于2013-06-25
得票数 0
回答已采纳
1
回答
复制
省略:在返回语句中使用三元表达式时未调用
构造
函数
?
、
,除非源对象是
函数
参数,
则
和要
复制
的对象由lvalue指定时,首先执行重载解析以选择副本的
构造
函数
,就好像该对象是由rvalue指定的一样。
如果
重载解析失败,或者所选
构造
函数
的第一个参数的类型不是对象类型的rvalue引用(可能是cv限定的),
则
再次执行重载解析,将对象视为lvalue。注意:无论
复制
是否会发生,这种两阶段过载解决方案都必须执行.
如果
不执行省略,它将确定要调用的
构造
浏览 3
提问于2012-08-11
得票数 12
回答已采纳
2
回答
副作用/易失性/
复制
构造
函数
/析构
函数
、
、
、
、
参考讨论 $3.7.1/2 -“
如果
静态存储持续时间的对象有初始化或有副作用的析构
函数
,
则
即使它看起来未被使用,也不应被消除,除非类对象或其副本可以按照12.8中的规定被消除。”$12.8/15-“当满足某些条件时,允许实现忽略类对象的
复制
构造
,即使对象的
复制
构造
函数
和/或析构
函数
有副作用。”是上述情况的具体例子,其中甚至易失性读/写也可以被优化(例如,
如果
复制</em
浏览 0
提问于2010-08-31
得票数 1
1
回答
移动
构造
函数
是自动生成的,即使成员没有移动
构造
函数
?
、
、
引用自C++ Primer
如果
我们显式地要求编译器使用= default生成移动操作,而编译器无法移动所有成员,
则
移动操作将被定义为已删除。
如果
类的成员定义了自己的
复制
构造
函数
,但没有定义移动
构造
函数
,或者类的成员没有定义自己的
复制
操作,且编译器无法合成移动
构造
函数
,
则
移动
构造
函数
被定义为已删除的。,编译器不能为它合成一个
构造</em
浏览 3
提问于2017-06-21
得票数 5
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
热门
标签
更多标签
云服务器
ICP备案
云直播
对象存储
实时音视频
活动推荐
运营活动
广告
关闭
领券