paq*_*etp 11 c c++ syntax pointers
我有一位同事在C中检查这样的代码(语法#1):
(*(*(*p_member).p_member).p_member).member
Run Code Online (Sandbox Code Playgroud)
当我问他为什么不使用 - >(语法#2)时:
p_member->p_member->p_member->member
Run Code Online (Sandbox Code Playgroud)
他得到了真正的防守,指出语法#2比#1更复杂......我最终改变了他的代码,因为我不得不修改它,不能读它,然后他就疯了,我居然感动呢?
SO社区更喜欢哪种语法?两者都有效,但我发现语法#2更具可读性.
由于问题是主观的,我将此设置为社区维基.
Edo*_* A. 11
在C++中我肯定会使用 - >,因为 - >可以重载.
在CI中也会使用 - >因为它更容易阅读,更快速的输入和更少的错误(希望你的同事不会迷失在括号中!).
我在这里打字即兴,但我的记忆是,对的生存逻辑->在C运算符是在K&R的第1版为(意译)解释说:因为否则你必须输入(*p).a必要的因*和.运算符的优先级.
不用->于其预期目的的是坚果.
您可能还希望在您的团队中讨论"代码所有权"的概念.你的同事并不"拥有"代码,公司也是如此.因此,公司雇用的任何人都有充分理由可以编辑它.
| 归档时间: |
|
| 查看次数: |
3550 次 |
| 最近记录: |