【发布时间】:2014-08-31 09:11:07
【问题描述】:
如果:
int var = 0;
&var; //--> returns the address of "var"
和:
int *p = &var;
*p; //--> returns the value pointed to by "p", the value stored in "var"
那么不应该(尽管是多余的):
*&var; //--> returns the value stored in "var"
*var; //--> throw an error (or return the value stored in "var")?
我现在还没有办法编译C++代码,但是我想弄清楚这些运算符。
【问题讨论】:
-
有免费的在线编译器,例如ideone 或 Coliru
-
仅供参考,您可以使用在线编译器,例如this one。
-
现在可能有点太复杂了,但您可以稍后再回到这个。您可以重载地址运算符
&。如果是这种情况,*&var可能与var不同。我希望你永远不会遇到这种情况的代码。相关:stackoverflow.com/questions/6495977/…
标签: c++ pointers reference dereference