# 參考參數
## 底層設計
系統內部使用C++的引用功能(`T&`)處理 參考 這一特性
當無法直接使用`T&`時(如 可空 參數),使用`std::reference_wrapper`包裝引用
## 臨時引用
如果參數要求 參考,但調用者提供的數據是臨時存在的,無法獲取 左值引用,則EplOnCpp會涉法生成一個臨時引用用于調用
這一功能是通過創建中間對象,并利用C++的規范(臨時對象將在整個語句結束后被銷毀)實現的
>[info] All temporary objects are destroyed as the last step in evaluating the full-expression that (lexically) contains the point where they were created, and if multiple temporary objects were created, they are destroyed in the order opposite to the order of creation. This is true even if that evaluation ends in throwing an exception.
>(from [https://en.cppreference.com/w/cpp/language/lifetime](https://en.cppreference.com/w/cpp/language/lifetime))
這一功能的具體實現方法,請參考`BYREF` / `e::system::forceRef` / `e::system::temp_reference`