許多開發者使用 C++ 卻感覺與 C 無異,主因在於未充分掌握 C++ 特有機制。本文整理四大核心技巧,助你發揮 C++ 真正優勢。
sizeof,減少錯誤。new int(100)、new int[10]。delete / delete[] 釋放。巨集如 #define abs(a) ((a)<0?-(a):(a)) 在 abs(i++) 會產生副作用。inline 函數兼具展開效能與型別安全:
inline int Add(int a, int b) { return a + b; }
編譯器將直接內嵌程式碼,避免函數呼叫開銷。
同名函數可依參數清單區分:
void PutHz(char* str); // 目前位置輸出
void PutHz(int x, int y, char* str); // 指定座標輸出
簡化命名(免用 intabs/fabs/dabs),大型專案中便於管理。
需修改引數時,C 慣用指標:
void Add(int* a) { (*a)++; }
C++ 使用參考更清晰:
void Add(int& a) { a++; }
參考是變數別名,語法直觀,減少解參考錯誤,程式碼可讀性大幅提升。
掌握動態記憶體管理、內聯函數、多載與參考傳遞,即可脫離「用 C++ 寫 C 程式」的誤區,發揮語言原生優勢,編寫更簡潔、高效、可維護的程式碼。