→ uranusjr: 因為它必須要能夠回傳被作用的物件本身 06/17 18:46
→ uranusjr: a.prefix_inc() 的回傳值必須要能夠是 a 本身 06/17 18:48
→ uranusjr: 你可以想想看上面要怎麼實作, 就知道沒有參考做不出來 06/17 18:48
推 jerryh001: reference type 而比較不精確的說法是回傳物件本體 06/17 19:16
→ sarafciel: 拿最單純的int來說 i+1是右值,++i是左值 06/17 19:33
→ sarafciel: 而左值必須要有明確的記憶體位址 右值不用 06/17 19:35
→ sarafciel: 所以你看到的一般運算符是回傳純value 06/17 19:37
→ sarafciel: 而prefix++這種就必須帶reference 他才會帶記憶體位置 06/17 19:39
→ sarafciel: 要寫回傳純value的++也可以 只是這樣就跟大多數人理解 06/17 19:44
→ sarafciel: 的prefix++有落差這樣 06/17 19:44
→ sarafciel: 至於>>這個東西雖然C原生是回右值的 不過C++又把>>拉去 06/17 19:47
→ sarafciel: 做iostream的運算符 你看到的>>重載我猜應該是拿來接 06/17 19:49
推 sarafciel: iostream用的 06/17 19:50