Ответ 1
Я так думаю, что если утверждение не удается, вы можете увидеть причину, по которой было добавлено утверждение.
Мой коллега просматривал одну из наших унаследованных баз кода и нашел следующую строку:
ATLASSERT( rtaddress == m_lRTAddress && "Creation settings should match FIFO" );
Мы не понимаем, для чего предназначена цель строкового литерала; это не просто комментирование? То, как я это вижу, если rtaddress
НЕ равно m_lRTAddress
, тогда строка никогда не будет оценена из-за короткого замыкания. Если rtaddress
равен m_lRTAddress
, тогда строковый литерал будет оценен, но строковый литерал, оцененный для логического выражения, всегда будет возвращать true
; так что точка?
Я так думаю, что если утверждение не удается, вы можете увидеть причину, по которой было добавлено утверждение.