2011-12-07 8 views
8

Eventuali duplicati:
What does T&& mean in C++0x?Cosa significa && con un tipo di parametro in C++?

non avevo mai visto un doppio commerciale prima di leggere this answer.

Il frammento di codice in questione è questo:

template <typename T> 
T& as_lvalue(T&& x) 
{ 
    return x; 
} 

Cosa && raggiungere? Quali tipi di parametri possono essere passati a as_lvalue()

+0

Sono riferimenti di valore. –

+2

Qualche contesto sarebbe utile nel titolo: sono venuto qui aspettando una discussione sugli operatori logici. – Mac

risposta

3

Si chiama rvalue reference ed è nuovo in C++ 11.

+5

che in realtà non risponde alla domanda - Ho molta esperienza in C++ prima di questo nuovo standard e i miei occhi si appannano quando leggo la pagina di wikipedia. –

+3

L'articolo [MSDN sull'operatore rvalue] (http://msdn.microsoft.com/en-us/library/dd293668.aspx) è più esteso di quel collegamento di Wikipedia. – Barend

+0

@JasonS: si lega ai provvisori senza fare una copia –

1

L'utilizzo più comune è booleano e operatore di cortocircuito.

C++ 11 lo utilizza per i riferimenti di valore. Il tuo esempio lo usa.