如果對||予以正確恰當的重載,那么在 if 語句中,||或許是一個函數調用。如果 其是一個函數調用,那么“短路求值規則”會被抑住,這樣 if 語句中的所有條件將總是被求值。
例如:
if(e.Title() == "CEO" || e.Salary() > 10000) cout << "hello" << endl;
如果對==、||和>進行適當重載,則兩個表達式都將被求值。
文章來源:
http://my.donews.com/robinchow/2007/01/10/wtFbMixKLhXCHOcnoKJheNEPFczsPCQmVvoI/