首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C++ 標頭檔演進:從 .h 到無副檔名與 c 前綴的完整指南

     編輯:關於C語言

隨著 C++ 標準化進程,標頭檔命名規範發生重大變更。理解新舊標頭檔的差異與關係,對於撰寫可移植、符合現代標準的程式碼至關重要。

命名規則的核心變化

  • C++ 標頭檔:移除 .h 副檔名。例如 <iostream.h> → <iostream>,<complex.h> → <complex>。
  • C 標頭檔:移除 .h 並加上 c 前綴。例如 <string.h> → <cstring>,<stdio.h> → <cstdio>。

新舊標頭檔的四大現狀

類別範例支援狀態命名空間備註
舊式 C++ 標頭檔<iostream.h>持續支援(但官方不建議使用)不在 std 中非標準,僅為相容性保留
新式 C++ 標頭檔<iostream>標準規範在 std 中功能與舊版基本相同,細節可能經修改
標準 C 標頭檔<stdio.h>持續支援不在 std 中為保持 C 語言相容性
新式 C++ 封裝 C 庫<cstdio>標準規範在 std 中內容同 <stdio.h>,但置於 std

實務建議

新專案請全面採用新式標頭檔(<iostream>、<cstdio> 等)並搭配 using namespace std; 或前綴 std:: 使用。 僅在維護舊代碼或需嚴格 C 相容時才使用 .h 版本。注意:舊新標頭檔不可混用,否則可能導致符號重複定義或命名空間衝突。

遷移檢查清單

  1. 將所有 #include <xxx.h> (C++庫) 改為 #include <xxx>
  2. 將所有 #include <yyy.h> (C庫) 改為 #include <cyyy>
  3. 檢查代碼中標準庫元件(如 cout、string、vector)是否加上 std:: 或包含 using namespace std;
  4. 編譯測試,修正因命名空間導致的錯誤

掌握這套規則,能讓你的 C++ 代碼更符合現代標準,提升可移植性與維護性。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved