Heim  >  Fragen und Antworten  >  Hauptteil

Warum wird empfohlen, Konstanten in „if“-Anweisungen zu priorisieren?

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粉066224086P粉066224086178 Tage vor342

Antworte allen(2)Ich werde antworten

  • P粉226667290

    P粉2266672902024-03-26 12:47:56

    阻止你写:

    if ( pMsg = NULL ) return rv;

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

    Antwort
    0
  • P粉180844619

    P粉1808446192024-03-26 09:11:54

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

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

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

    Antwort
    0
  • StornierenAntwort