1
41
我相信C++ 03的相关部分是 §12.3.1 二:
和 § 8.5 12点:
打电话
|
2
5
定义
|
3
3
在C++ 11之前,使用复制构造函数显式的一个实际用途是,它实际上是使类不可复制的一部分。 危险在于,尽管您声明了复制构造函数private并且没有实现它,但是如果您在friend中或在类本身中意外地复制了一个构造函数,编译器将不会接收它,您只会得到一个很难找到的链接错误。 同样地,使它显式也减少了这样做的可能性,因为编译器很可能会获取您无意中的副本并指向您正在执行的实际行。
在C++ 11(和14)中,在使用时不需要这样做。
|
4
2
如果要添加
显式复制构造函数是为了防止这种情况的发生,即防止函数调用中资源的隐式复制等(本质上它强制用户通过引用传递而不是通过值传递)。 |
rookie · 检查函数模板的所有参数包参数是否属于int 1 年前 |
ivaigult · -W转换和隐式字符串到布尔类型转换 1 年前 |
rainer · 后台插入程序的初始化 1 年前 |
Community wiki · 以理智、安全和高效的方式复制文件 1 年前 |
Shefali Kanaujia · 对C中向量的向量进行排序++ 1 年前 |
Ma Joonyoung · 粗粒度和细粒度链表的时间比较 1 年前 |