C++ 函數調用時,參數傳遞方式決定了形參與實參的關係及效能開銷:
| 傳遞方式 | 語法 | 記憶體行為 | 適用場景 |
|---|---|---|---|
| 值傳遞 | void f(T x) | 拷貝構造函數建立副本,佔用棧空間 | 基本型別、小型物件、需修改副本不影響原值 |
| 引用傳遞 | void f(T& x) | 形參綁定實參記憶體地址,無拷貝開銷 | 需修改實參、大型物件避免拷貝 |
| const 引用 | void f(const T& x) | 同引用,但編譯器強制只讀 | 大型物件只讀訪問、接受臨時物件/字面值 |
const T&,兼顧效能與通用性。T&。int、double 等)直接值傳遞,開銷極小且語義清晰。T&&(右值引用)實現移動語義,進一步優化資源轉移。