如何知道2个指针是否指向同一个数组

时间:2015-02-22 23:06:02

标签: c++ pointers language-lawyer

如果已将指针p创建为动态数组

double* p = new double[n]

如果q被定义为q = p + k且0 <= k <1,则指针q被指向由p引用的数组。 ñ。有没有办法知道给定的指针q是否指向p引用的长度为n的数组,并进行O(1)运算?

备注:测试(q >= p && q < p + n)有未定义的行为。

备注:问题&#39;我如何安全合理地确定指针是否指向某个指定缓冲区?&#39;确实在gcc上提供了O(1)的答案,但在每个编译器上都没有。但似乎没有更好的答案。

0 个答案:

没有答案