1
|
Horst Walter · 技术社区 · 6 年前 |
![]() |
1
1
您不必接受“已弃用”警告。你有三个选择, 实施 接线员, 显式默认 操作员或 删除 接线员。
首先,这个警告是触发器,因为您实际上使用
考虑下面的例子( running version ):
顺便说一下,复制构造函数也是一样的,不仅仅是赋值运算符。它在 §15.8.1/6节 对于复制构造函数和 用于草稿中的副本分配运算符 n4727 .
不,只要生成的复制ctor/assignment是一个警告,您仍然可以使用它。贬低意味着它(将来可能)会成为一个错误(如果C++的话,可能在大约40年或更长时间内,如果有的话)。因此,如果您不希望代码将此警告作为错误发送,当编译器不再支持它时,您应该立即修复它。
假设答案如下: 我能想到的一个目的是防止一些错误。举个例子(摘自 Why doesnât my constructor work right? ):
为了防止双重删除,您必须明确,而不是依赖 生成 / 违约的
在这种情况下: 是的
个人想法:恕我直言,我不相信这会成为一个错误的C++。依赖于自动生成的ctor/assignment,有很多代码可以使用。犯这个错误会破坏(字面上)成堆的项目。->不会发生。。。 |
![]() |
Wolfspirit · 你如何确定一个时间点是否在一个时间段内? 12 月前 |
|
h-swell · QT——如何使用布局类? 1 年前 |
|
LeftFrog · Qt中macOS上的按钮颜色不变 1 年前 |
![]() |
Bobby · Qt是否与RAII设计模式不兼容? 1 年前 |
![]() |
Harvey · 如何更改Qt Creator配置项目的默认套件? 1 年前 |