[问题] 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