[問題] 想請教 int &r = num 的意思

看板C_and_CPP作者 (我就是我)時間11年前 (2013/03/26 08:56), 編輯推噓8(8012)
留言20則, 12人參與, 最新討論串1/1
程式: int num = 0, num2 = 3; int *p; int &r = num; 我想請問的是第三列的意思為 1. r的位址放入num的內容0 2. r的位址= = mum的位址 有書本是說2 但可能是自己不太會程式語言所以一直認為是1 可以請位高手解釋個觀念讓我了解為何會這樣 還是以後看到這個樣子就是2的答案 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 1.164.8.115

03/26 09:07, , 1F
你應該有看過記憶體位置吧? 0x12345678 類似這種
03/26 09:07, 1F

03/26 09:07, , 2F
記憶體位址指向0或者2,3,不是很奇怪嗎? 0x2 0x3 ?
03/26 09:07, 2F

03/26 09:08, , 3F
&r 指向 mum的記憶體位址,然後r取出位址存的內容
03/26 09:08, 3F

03/26 09:10, , 4F
這位高手這樣說也對,感覺好像不太符合格式的感覺
03/26 09:10, 4F

03/26 09:11, , 5F
就像別人把mum家的地址告訴你,然後去該地址拿東西
03/26 09:11, 5F

03/26 09:11, , 6F
高手這樣說我就比較容易記憶起來了,謝啦
03/26 09:11, 6F

03/26 09:56, , 8F
這什麼爛標題?
03/26 09:56, 8F

03/26 09:58, , 9F
修改標題請按 大T
03/26 09:58, 9F

03/26 10:46, , 10F
可以改為「關於&r=num的簡單問題」。
03/26 10:46, 10F

03/26 11:38, , 11F
title先改
03/26 11:38, 11F

03/26 12:24, , 12F
r 跟 num 是同一物件,r 只是num 的別名
03/26 12:24, 12F

03/26 12:31, , 13F
我以前也被誤導過,後來看C++ Primer 才覺得自己有搞懂
03/26 12:31, 13F

03/26 19:43, , 14F
r不是num的別名,他只是對應到同一個記憶體
03/26 19:43, 14F

03/26 20:35, , 15F
就是為了方便稱呼而已啦 懶得打很長的名稱用起來很方便
03/26 20:35, 15F

03/27 20:38, , 16F
所以說是別名沒錯吧?畢竟是Reference
03/27 20:38, 16F

03/27 20:40, , 17F
Reference大概就相當於常數指標,然後使用時不用*號這樣
03/27 20:40, 17F

03/28 09:58, , 18F
我記得書上有明確寫到 reference 是 alias (別名)
03/28 09:58, 18F

03/28 13:16, , 19F
我理解的沒錯的話,r就像是num的「綽號」一樣
03/28 13:16, 19F

03/28 13:17, , 20F
不管是叫「洛索瑪.塞隆」還是叫「阿強」,指的都是同一人
03/28 13:17, 20F
文章代碼(AID): #1HKF9JJN (C_and_CPP)