2013-04-05 13 views
5

std::get<n>(tuple) का उपयोग कर std::tuple के n वें तत्व का मान प्राप्त कर सकते हैं। लेकिन मुझे उस कार्य के संदर्भ के रूप में उस tuple के एक तत्व को पारित करने की आवश्यकता है।std :: tuple के तत्व के संदर्भ में कैसे प्राप्त करें?

मैं std::tuple के किसी तत्व का संदर्भ कैसे प्राप्त करूं?

उत्तर

8

std::get एक संदर्भ (या तो स्थिरांक या गैर स्थिरांक) देता है, तो यह काम करता है:

void fun(int &a) { 
    a = 15; 
} 

void test() { 
    std::tuple<int, char> foo{ 12, 'a' }; 
    fun(std::get<0>(foo)); 
} 

डेमो here

+0

अपने जवाब के लिए धन्यवाद मैं अपने कोड संकलन नहीं करने का कारण मिल गया। – danijar

0

get इसके तर्क के प्रकार के आधार पर एक संदर्भ, रावल्यू संदर्भ या कॉन्स्ट संदर्भ देता है।

संबंधित मुद्दे