Warum wird empfohlen, Konstanten in „if'-Anweisungen zu priorisieren?
P粉066224086
P粉066224086 2024-03-25 18:17:36
0
2
501

Ich habe mir einen Beispiel-C++-Code für eine von mir verwendete Hardwareschnittstelle angesehen und bin auf viele Aussagen wie diese gestoßen:

if ( NULL == pMsg ) return rv;

Ich habe sicher schon gehört, dass es eine gute Idee ist, die Konstante an die erste Stelle zu setzen, aber warum? Ist das nur so, damit Sie schnell sehen können, was Sie vergleichen, wenn Sie eine große Aussage haben, oder steckt da mehr dahinter?

P粉066224086
P粉066224086

Antworte allen(2)
P粉226667290

阻止你写:

if ( pMsg = NULL ) return rv;

误打误撞。然而,一个好的编译器会警告您这一点,因此大多数人不会使用“常量优先”方式,因为他们发现很难阅读。

P粉180844619

这样就不会混淆比较 (==) 和赋值 (=)。

如您所知,您不能分配给常量。如果你尝试,编译器会给你一个错误。

基本上,这是一种防御性编程技术。为了保护自己免受自己的伤害。

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage