12

私の同僚は、継承されたコードベースの1つを調べていて、次の行を見つけました。

ATLASSERT( rtaddress == m_lRTAddress && "Creation settings should match FIFO" );

文字列リテラルの目的がわかりません。コメントするだけではありませんか?私の見方では、rtaddress等しくない場合m_lRTAddress、短絡のために文字列が評価されることはありません。rtaddressDOESが等しい場合m_lRTAddress、文字列リテラルは評価されますが、ブール式に対して評価された文字列リテラルは常にtrue;を返します。それで、ポイントは何ですか?

4

1 に答える 1

13

アサーションが失敗した場合に、アサーションが追加された理由を確認できるようにするためだと思います。

于 2012-05-18T23:11:54.473 に答える