Скажи, что у меня есть версия const t & :
template
void yetAnotherFunc( const T &input ) {
// do something...
}
template
void myFunc( const T &input ) {
yetAnotherFunc( input );
}
int main()
{
myFunc( someT() ); // pass in a rvalue
return 0;
}
фактически так же, как версия T && с помощью std :: forward ниже, с точки зрения копии не связана? Какие есть различия? < /P>
template
void yetAnotherFunc( T &&input ) {
// do something...
}
template
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
Является ли постоянный и эффективно такой же, как T && с std :: forward для аргумента Rvalue, когда его передают в другу ⇐ C++
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Почему std::array
::operator[] не возвращает ссылку rvalue для объекта rvalue?
Anonymous » » в форуме C++ - 0 Ответы
- 45 Просмотры
-
Последнее сообщение Anonymous
-