我經歷的C++入門的書,我碰到下面的兩個聲明是:參考引用其他的參考和指針引用
因爲引用是不是對象,我們可以不定義爲參考參考。
因爲引用不是對象,所以它們沒有地址。因此,我們可能不會定義一個指向參考的指針。
然而,當我運行下面的代碼,我沒有得到錯誤或警告和我的代碼運行正常:
int main(int argc, const char * argv[]) {
// insert code here...
int i, &ri = i;
int &bi = ri;
std::cout << "The address of ri is " << &ri << std::endl;
std::cout << "The address of bi is " << &bi << std::endl;
int* p = &ri;
std::cout << p << std::endl;
return 0;
}
輸出:
The address of ri is 0x7fff5fbff76
The address of bi is 0x7fff5fbff76c
0x7fff5fbff76c
知道爲什麼這作品?
謝謝。
因爲它們都是對同一個變量的引用。良好的閱讀,並可能重複在這裏:[有沒有什麼辦法來找到引用的地址?](http://stackoverflow.com/questions/1950779/is-there-any-way-to-find-the-address -if-a-reference) – user4581301
['''n''應該用來代替'endl'](http://stackoverflow.com/q/213907/995714) –
你的第一個輸出缺少尾部'c' ,但這絕對是一個錯字。 – Quentin