![]() |
1
16
上面的代码将递归地调用自己,直到您得到一个堆栈溢出(snicker)和程序崩溃为止。方法本身(您编写的方法)是相等运算符,然后在主体内显式调用它。
重写相等运算符背后的思想(
它会做你最想做的。 您可能不希望C++对“平等”进行“智能化”并自动进行成员智能比较的原因之一是,您可能对“平等”意味着什么而不是C++标准体有非常不同的想法。 作为一个例子,您可能认为一个具有指针成员的类只有在指针指向完全相同的对象时才是相等的,或者只有当指向对象的是memberwise相等时才认为它们是相等的。或者它们可能是(注意:这里的不良操作,但人们仍然这样做)指向一些随机的地址,因为它们还没有被初始化,并且撤销它们会导致崩溃(“你”)可能因为某种标志变量而知道这一点,但是当C++试图“帮助”解引用时,它不会。 |
![]() |
rookie · 检查函数模板的所有参数包参数是否属于int 1 年前 |
![]() |
ivaigult · -W转换和隐式字符串到布尔类型转换 1 年前 |
![]() |
rainer · 后台插入程序的初始化 1 年前 |
![]() |
Community wiki · 以理智、安全和高效的方式复制文件 1 年前 |
|
Shefali Kanaujia · 对C中向量的向量进行排序++ 1 年前 |
|
Ma Joonyoung · 粗粒度和细粒度链表的时间比较 1 年前 |