Współpracownik kopalni szukał za pośrednictwem jednego z naszych odziedziczonych baz kodu i znaleźć następującą linię:Co to jest wyrażenie literałowe w języku boolowskim?
ATLASSERT(rtaddress == m_lRTAddress && "Creation settings should match FIFO");
nie rozumiemy, jaki jest cel ciąg dosłownym jest; czy to coś więcej niż tylko komentowanie? Sposób, w jaki to widzę, jeśli rtaddress
NIE równa się m_lRTAddress
, wówczas ciąg nigdy nie zostanie oceniony z powodu zwarcia. Jeśli rtaddress
ma wartość równą m_lRTAddress
, wówczas literał łańcuchowy zostanie oceniony, ale literał ciągu obliczany dla wyrażenia logicznego zawsze zwróci true
; więc o co chodzi?
To jest sztuczka, aby ten ciąg pojawił się w oknie dialogowym potwierdzenia. Dokumentowanie z ostrzeżeniem. –
To naganne marnowanie przestrzeni i obskurantyzm. Użyj komentarza. Komunikat o błędzie asercji przekieruje cię do linii kodu źródłowego (przynajmniej tak będzie, jeśli ATLASSERT jest jak standardowy aser). – dave