Допустим, у нас есть следующий упрощенный сценарий, где шаблонный метод вызывает шаблонный метод следующим образом:
template<typename Ta>
inline auto fa(Ta&& ta){
myclassA ra;
// doing things to "ra" based on "ta"...
return ra
}
template<typename Tb>
inline auto fb(Tb&& tb){
myclassB rb;
// doing things to "rb" based on "tb"...
// at some point:
auto temp = fa(tb[n][m]) //should this not be std::forward? how do you do that?
// doing things to "rb" based on "temp"...
return rb;
}
С универсальными ссылками я знаю, что я должен std::forward
. Если бы мне нужно было передать tb
в целом, я бы сделал auto temp = fa(std::forward<Tb>(tb))
. ОДНАКО Мне неясно, как пройти tb[n][m]
, так как я передаю только одну запись (из записи) из tb
. Это их способ переадресации?