假设我有一个如下所示的 C++ 类:
class Point {
// implementing some operations
}
然后:
Point p1;
Point p2 = p1;
如果我想知道p2的地址,那么我可以使用&p2
.但是我怎样才能得到 p2 存储的地址呢?因为 p2 不是指针,所以我不能只使用 cout << p2;
最佳答案
以下内容有什么问题:
cout << &p2;
如您所说,p2
不是指针。从概念上讲,它是存储在内存中某处的数据 block 。 &p2
是这个 block 的地址。当你这样做时:
Point p2 = p1;
...该数据被复制到“标记为”p1
的 block 中。
But how can I get the address that p2 stores?
除非您向Point
数据结构添加指针成员,否则它不会存储地址。如您所说,它不是指针。
附言hex流运算符也可能有用:
cout << hex << &p2 << endl;
关于c++ - 在 C++ 中获取类对象的地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6012190/