// 註解、inline 語義、const 鏈接屬性)。| 錯誤做法 | 正確做法 | 理由 |
|---|---|---|
#include "stdio.h" | #include <cstdio> | 系統頭檔用 <>,C++ 標頭去 .h 加 c 前綴 |
void main() | int main() | 標準要求回傳 int |
main() { } (隱式 int) | int main() { } | C++ 禁止隱式 int |
char* p = "text"; | const char* p = "text"; | 字串字面值為常量,修改導致 UB |
i = i++ + ++i; | 拆分為多條語句 | 多次修改同一變數無序列點,UB |
C/C++ 舊標頭 → C++ 標準頭檔
iostream.h → iostream
string.h → cstring
stdio.h → cstdio
stdlib.h → cstdlib
math.h → cmath
assert.h → cassert
// 規則:C 庫去 .h 加 c 前綴,C++ 庫去 .h 進 std::
graphics.h, conio.h, windows.h, dos.h **非標準**,屬編譯器/平台擴展。C++ 為**多範式語言**支援:
<functional>)**切勿侷限於單一典範**,根據問題領域選擇最適組合。
goto, union, 多重繼承、隱式轉換),採用 C++ Core Guidelines 子集。