[問題] c++ 指標取值

作者: LaughPoint (腳步)   2022-06-07 17:26:14
初學c++
有個問題想問
為什麼變數需要取值符號 物件類別不用
int var = 5;
int * c1 = &var;
std::cout << c1 << std::endl; <
作者: nh60211as   2022-06-07 17:44:00
std::cout << 是看 p1->str 的型別(我猜是 int)決定怎麼輸出的https://wandbox.org/permlink/ERuAF4CKneRIbQVu
作者: GlassesKJ (gg)   2022-06-07 17:51:00
你用「->」不就是*的效果了?不然一般value叫法不是「.」來著?憑印象回答,好像搞錯了,請糾正我謝謝
作者: LPH66 (-6.2598534e+18f)   2022-06-07 18:39:00
樓上正解, 對指標 a 來說 a->b 等同於 (*a).b
作者: OnlyRD (里巷人)   2022-06-08 02:15:00
你可能是寫硬體語言習慣了吧,因為c++有名字的是左值,左值已經是值了,當然沒必要dereference。
作者: shibin (喜餅)   2022-06-08 10:55:00
c1指向var,但p1不是指向str,應該是這個搞混了
作者: serenitynice (cregryrm)   2022-06-09 22:39:00
只要記得指標取成員用->變數取成員用.就好了後者等同於*ptr. str,因為解參照後就從指標變成變數了

Links booklink

Contact Us: admin [ a t ] ucptt.com