<typename T>
void val(T&&) {}
val(std::string("test")); -> тип вывелся как T
std::string str = "test";
val(str); -> тип вывелся как T&(поэтому нужен remove_ref)
Насколько я понимаю, если параметр функции не будет T&&, то правило вывода будет работать немного иначе. Правильно ли я понимаю, что если будет просто T(не T&&), то для самого типа шаблона, будет всегда T?
то есть без ссылочности?
Обсуждают сегодня