今天在学习链表时,看到了一个全新的操作符“->”,发现它是取结构体子数据的操作符
于是产生了一个疑问,“->”与“.”有何区别?
查阅了资料后,发现了叶神在知乎上的回答
由于转载权限原因,这里说一下大义:
"
其实这两个操作符差别不大,经过编译器处理后是等价的。在文档中,Member access operators一节中,提到了这两个操作符的差别,“->”左右的两个对象被限定为均为左值,而“.”左右的两个对象则不必一定为左值,可以为非左值
我们在取用结构中的某一个指针的时候,“->”和“.”是完全等价的。
而在取用非指针成员的时候,只能用“.”
此外,两者在链表中进行二级调用的语法是有差别的(注意第17行)
使用VS学习链表时遇到的关于取结构体子数据“.”与“->”区别
最新推荐文章于 2023-04-05 17:49:31 发布