檢查成員函數中的空指標 問題: 在多執行緒應用程式中,考慮一個具有成員函數的類別。檢查函數內的 this 指標是否為 nullptr 是否有效,如果是則傳回錯誤代碼? 答案: 在標準 C 中,存取 null指標是未定義的行為。因此,檢查是否為 nullptr 並傳回錯誤代碼是不必要的,並且可能會導致非標準行為。 其他注意事項: 一些實現,例如 VC 和 MFC,允許檢查 nullptr。 Однако,這樣的實作是非標準的,可能會導致不可靠的程式碼。 插入這樣的檢查可能有助於除錯目的,但斷言語句是更合適的選擇。 檢查 if this is nullptr 不一定表示該物件已被刪除。它可能只是意味著使用了空指標來呼叫該方法或取得 this 引用。