gpt4 book ai didi

c++ - ptr->hello();/* VERSUS */(*ptr).hello();

转载 作者:IT老高 更新时间:2023-10-28 23:03:05 31 4
gpt4 key购买 nike

我正在学习 C++ 指针,而 -> 运算符对我来说似乎很奇怪。代替ptr->hello(); 可以写成 (*ptr).hello(); 因为它似乎也可以工作,所以我认为前者只是更方便方式。

是这样还是有什么不同?

最佳答案

-> 运算符只是语法糖,因为 (*ptr).hello() 是要键入的 PITA。就在 ASM 级别生成的指令而言,没有区别。事实上,在某些语言中(想到 D),编译器会根据类型计算出所有内容。如果你使用 ptr.hello(),它就可以工作,因为编译器知道 ptr 是一个指针并且没有 hello() 属性,所以你的意思是 (*ptr ).hello().

关于c++ - ptr->hello();/* VERSUS */(*ptr).hello();,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/447543/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com