C语言的箭头运算符,是给手抖程序员准备的拐杖
原创
为什么C语言非要发明一个箭头运算符?我盯着`ptr->field`看了半天,觉得它不过是个语法糖——完全可以写成`(*ptr).field`。但问题是,后者读起来像念反了咒语,写的时候手一抖变成`*.ptr.field`,编译器当场罢工。箭头运算符存在的意义,说白了就是让"通过指针访问结构体成员"这件事少一层括号、少一次脑内翻译。Ritchie当年做这个设计,不是因为他聪明,是因为他知道大多数程序员连指针都没搞明白就别指望他们还能正确嵌套括号。我后来才意识到,这不是语法层面的妥协,是对人类认知局限的尊重。
原文:Why does the arrow (->) operator in C exist? · 来源:Hacker News
版权声明
所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除
itfan123


