在寫函數的時候,很多函數只是設置某個變量然后做一些其他的相應的處理,比如:
void?CInstruction::SetName(const?CString&?strName)
{
????m_strName?=?strName;????
????????????//some other operations
????if(!IsRed())
????{
??????? //...????????
????}
}
這樣的函數,返回類型為
void順理成章.
但是,隨著程序繼續往下寫,需要處理的情況越來越復雜,這個時候,發現SetName這個函數,返回void已經不夠用了,因為可以需要知道SetName這個函數調用有沒有成功,因為可能傳入的strName不一定是合法的,如果調用SetName函數沒有成功,可能要繼續調用別的函數,這個時候,可能就要講返回類型改為BOOL.
而后來繼續想,一個函數的返回值,應該更加充分的利用,調用一個函數時,就該充分的利用它的返回值;而在寫一個函數時,也應該注意到這一點.如果實在沒有什么值好返回,就返回TRUE
所以,對于函數,如果在設計時準備把返回類型定為void,其實可以改為BOOL
1)最初可能沒有用,但情況會越來越復雜
2)充分利用函數的返回值