对解除引用的指针的引用地址是否与指针地址相同?

2022-01-05 00:00:00 reference pointers c++ memory-address

在 C++ 中,是否保证对解除引用的指针的引用地址与指针地址相同?

In C++, is the address of a reference to a dereferenced pointer guaranteed to be the same as the address of the pointer?

或者,用代码编写,以下断言是否保证始终成立?

Or, written in code, is the following assertion guaranteed to always hold true?

SomeType *ptr = someAddress;
SomeType &ref = *ptr;
assert(&ref == ptr);

推荐答案

是的,这是正确的,并且永远正确.

Reference 只不过是它所指类型的别名.它没有单独的存在,它总是与它所指的那个人联系在一起.

Reference is nothing but an Alias of the type which it is referring to. It does not have a separate existence, it is always tied up to the one it is referring.

相关文章