एक अग्रेषण संदर्भ तर्क के साथ निम्न टेम्पलेट समारोह इंटरफेस पर विचार करें:अग्रेषण संदर्भ की स्थिरता कैसे व्यक्त करें?
template<typename T>
void f(T&& t) { ... }
इस मामले में, f
या तो f
के लिए तर्क के प्रकार पर निर्भर एक lvalue संदर्भ, या एक rvalue संदर्भ लेता है,। मैं कैसे व्यक्त कर सकता हूं कि f
इसके पैरामीटर को संशोधित नहीं करता है? निम्नलिखित अनुभवहीन दृष्टिकोण काम नहीं करता है, के बाद से यह अब f
को lvalue संदर्भ गुजर की अनुमति देता है:
template<typename T>
void f(const T&& t) { ... }
कोई 'एफ' नहीं है। –