2013-04-05 20 views
5

std::tuplen番目の要素の値は、std::get<n>(tuple)を使用して取得できます。しかし、関数の参照としてそのタプルの1つの要素を渡す必要があります。std :: tupleの要素への参照を取得するには?

std::tupleの要素への参照を取得するにはどうすればよいですか?

答えて

8

std::get基準を(CONSTまたは非constのいずれか)を返し、これは動作します。

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は、引数の型に応じて参照、右辺値参照、またはconst参照を返します。

関連する問題