Скажи, что у меня есть константная T & версия: < /p>
void yetAnotherFunc( const T &input ) {
// do something...
}
void myFunc( const T &input ) {
yetAnotherFunc( input );
}
int main()
{
myFunc( someT() ); // pass in a rvalue
return 0;
}
< /code>
Эффективно ли он же, как и t && с std :: warry ниже в терминах отсутствия копии? Какие есть различия? < /p>
void yetAnotherFunc( T &&input ) {
// do something...
}
void myFunc( T &&input ) {
yetAnotherFunc( std::forward( input ) );
}
int main()
{
myFunc( someT() ); // pass in a rvalue
return 0;
}
Подробнее здесь: https://stackoverflow.com/questions/796 ... rgument-wh
Мобильная версия