Dan*_*ner 2 c++ memory reference
我看过一些参考和内存地址之间的技术差异在这里,但我试图找到一个更抽象的方式来了解他们.考虑一下代码:
char foo = 'a';
char& bar = foo;
char& bar2 = *(char*)(&foo);
cout << bar << endl;
cout << bar2 << endl;
Run Code Online (Sandbox Code Playgroud)
两种情况下的输出都是'a'.那么从这里得出的结论是,引用(bar2)只是一个带有关联类型(char)的内存地址(&foo)吗?或者这种解释是否分崩离析?
referenceC++中最简洁的定义是:
它声明一个命名变量作为引用,即已经存在的对象或函数的别名.
&运算符获得)与作为别名的对象的地址相同.