извинить плохое название ...универсальный справочник для ошибок типа шаблона
Таким образом, как правило, в функции, как это:
template <class T>
void f(T&& i){
}
T&&
является универсальным справочником. В контексте, как это это Rvalue ссылка:
template <class T>
struct s{
void f(T&& t){}
};
Это имеет смысл, так как это T
фиксированного типа по отношению к s
которых f()
представляет собой метод.
Однако, по-видимому, в этом контексте:
template <class T, unsigned n>
std::array<T, n>
f(T&&){
}
T&&
является Rvalue ссылка, а также. Этот случай отличается от описанного выше. Итак, в чем причина того, что T&&
является ссылкой rvalue здесь, а не универсальной?
можете ли вы перефразировать это? Я не понимаю, что ты говоришь. –
Почему вы говорите, что 'T &&' является ссылкой на rvalue в этом случае? – 0x499602D2