Gab*_*tin 1 language-agnostic null
我在一些地方看到过这种情况,人们正在使用
if(null == myInstance)
Run Code Online (Sandbox Code Playgroud)
代替
if(myInstance == null)
Run Code Online (Sandbox Code Playgroud)
前者只是风格问题还是在后者(更直观,在我看来)中有任何性能影响?
这实际上取决于您使用的语言.
在只有bool类型被识别为内部条件的语言中if,if (myinstance == null)首选,因为它更自然地读取.
在可以处理其他类型(隐式铸造等)作为条件的语言中,if (null == myinstance)通常首选表单.例如,考虑C.在C中,ints和指针在if中是有效的.此外,赋值被视为表达式.因此,如果错误地写入if (myinstance = NULL),编译器将不会将其检测为错误.众所周知,这是一种流行的漏洞来源,因此建议使用不太可读但更可靠的变体.实际上,一些现代编译器在内部赋值(等)的情况下发出警告,但不是错误:毕竟,它是C中的有效表达式.ifwhile
| 归档时间: |
|
| 查看次数: |
60 次 |
| 最近记录: |