首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

C/C++ 程式設計規範精華:指針管理、初始化、資源釋放、現代 C++ 替代方案

     編輯:程式設計綜合問答

經典指針規範 (C 風格)

  1. 宣告即初始化為 `NULL`/`nullptr`**:
    int *p = nullptr; 避免野指針。
  2. 分配後檢查、使用前斷言**:
    p = malloc(n); assert(p);
  3. 釋放後立即置 `nullptr`**:
    free(p); p = nullptr; 防雙重釋放、懸空指針誤用。
  4. 所有權明確**:誰分配誰釋放,文檔標註 `// owner`。

現代 C++ 核心準則 (C++11/14/17/20)

推薦閱讀

《高質量 C/C++ 程式設計指南》—— 林銳 (暢銷 20 年經典)

  • 涵蓋命名、佈局、函數、類、記憶體、效能、測試等全維度規範。
  • 配合 **C++ Core Guidelines** (isocpp.github.io/CppCoreGuidelines) 現代化觀念。

團隊落地建議

  1. 引入 **clang-format** 統一格式 (Google/LLVM 風格)。
  2. CI 整合 **clang-tidy** / **cppcheck** 靜態分析強制檢查。
  3. Code Review 清單含:裸指針檢查、RAII 遵循、錯誤碼 vs 例外一致性。
  4. 新專案**預設 C++17 以上**,舊專案逐模組遷移智能指針。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
舊式做法現代替代優勢
裸指針 `new`/`delete``std::unique_ptr` / `std::shared_ptr`RAII 自動釋放、無洩漏、所有權語意清晰
手動 `malloc`/`free``std::vector` / `std::string` / `std::make_unique`記憶體管理封裝、例外安全
指針傳遞陣列`std::span` (C++20) / `std::vector&`帶長度、邊界安全
`NULL` / `0``nullptr`類型安全、避免整數隱式轉換