当我们计算这个时会发生什么 - (当前类的对象)

时间:2016-06-09 12:46:47

标签: c++ object this

我有类名DPPoint当我们在同一个类中计算这个 - (DPPoint的对象)并将值赋给int类型的变量时会发生什么

1 个答案:

答案 0 :(得分:0)

如果我理解正确,那么问题是:

DPPoint* p1 = new DPPoint;
DPPoint* p2 = new DPPoint;
int k = p1 - p2; // what is k?

这是完全有效的代码。它被称为“指针算术”。它将为您提供DPPoint大小的p1和p2之间的距离。

DPPoint array [10];
int k = &array[5] - &array[3]; // k = 2
int n = (int)&array[5] - (int)&array[3]; // n = 2 * sizeof (DPPoint)
(&array[5] == &array[3] + 2); // true
(&array[5] == array + 5); // also true

指针不必位于同一个数组中。可以是内存中的两个随机地址(为简单起见,跳过对齐问题)。