2012-05-18 18 views
12

Một đồng nghiệp của tôi đã nhìn qua một trong những cơ sở mã di truyền của chúng tôi và tìm thấy những dòng sau:Chuỗi ký tự này trong thành ngữ biểu thức boolean là gì?

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

Chúng tôi không hiểu những gì mục đích của chuỗi chữ là cho; nó không chỉ là bình luận? Cách tôi nhìn thấy nó, nếu rtaddress không bằng m_lRTAddress thì chuỗi sẽ không bao giờ được đánh giá do mạch ngắn. Nếu rtaddress DOES bằng m_lRTAddress thì chuỗi chữ sẽ được đánh giá nhưng chuỗi được đánh giá theo nghĩa đen cho biểu thức boolean sẽ luôn trả về true; vậy điểm là gì?

+17

Đó là một mẹo để làm cho chuỗi đó xuất hiện trong hộp thoại xác nhận. Tin nhắn cảnh báo tự viết. –

+0

Đó là một sự lãng phí đáng kể về không gian và là sự che khuất. Sử dụng nhận xét. Thông báo lỗi xác nhận sẽ đưa bạn đến dòng mã nguồn (ít nhất nó sẽ xảy ra nếu một ATLASSERT giống như một xác nhận chuẩn). – dave

Trả lời

13

Tôi nghĩ rằng nếu như khẳng định thất bại, bạn có thể thấy lý do tại sao khẳng định được thêm vào.

Các vấn đề liên quan