void* 可指向任意類型對象,表示「無類型指針」。*p 錯誤),不能指針算術(p+1 錯誤),因類型大小未知。memcpy)、線程函數參數、C 接口回調。static_cast)。nullptr,delete 後置 nullptr,智能指針自動管理。nullptr(類型 nullptr_t),C++98 NULL(宏,通常為 0 或 (void*)0),整數字面量 0。if (p) 判斷非空。void* p = nullptr; 合法。| 概念 | 本質 | 可解引用 | 典型用途 |
|---|---|---|---|
| void* | 類型 | 否 | 泛型傳遞 |
| 無效指針 | 狀態(危險) | 導致 UB | Bug 來源 |
| 空指針 | 特殊值(安全) | 否(保證安全) | 初始化、判空、釋放後置空 |
T* p = nullptr;。nullptr 替代 NULL/0。delete p; p = nullptr; 成對出現(若不用智能指針)。