![]() |
1
4
复印件转让
当您要从用户定义的类型分配给内置类型时,转换运算符会处理这种情况。 |
![]() |
2
2
您所引用的部分说明了如何隐藏
这也可能是您问题的答案,因为编译器需要知道它是否应该生成
例如
另一方面,复合运算符没有隐式定义,因此没有理由强制将其声明为成员函数。 |
![]() |
3
1
与默认和复制构造函数一起,运算符=在C++中也被特别处理。这意味着,即使您没有声明一个,编译器也将为您提供一个默认实现。但是默认实现并不总是适合类的需要的行为,这就是为什么您应该显式地声明它们(或者通过分配私有可见性来隐藏它们)。 为什么默认构造函数、复制构造函数和赋值运算符如此特殊?因为它们涉及到标准变量初始化和参数传递:当您通过值(而不是通过引用或指针)将类类型的参数传递给函数时,将调用这些操作来将其内容复制到堆栈中。 |
![]() |
4
1
如查尔斯所述,一份复印件
|
![]() |
rookie · 检查函数模板的所有参数包参数是否属于int 1 年前 |
![]() |
ivaigult · -W转换和隐式字符串到布尔类型转换 1 年前 |
![]() |
rainer · 后台插入程序的初始化 1 年前 |
![]() |
Community wiki · 以理智、安全和高效的方式复制文件 1 年前 |
|
Shefali Kanaujia · 对C中向量的向量进行排序++ 1 年前 |
|
Ma Joonyoung · 粗粒度和细粒度链表的时间比较 1 年前 |