Код: Выделить всё
#include
auto f1(auto&& v) {
return v;
}
auto f2(auto&& v) {
return std::forward(v);
}
int main() {
return f1(std::string("hello")).size() + f2(std::string("hello")).size();
}
[*] Согласно рекомендациям C ++ Core, F2 рекомендуется;
Согласно P0527R1, f1 , что C ++ 23. F2 имеет дополнительный вызов функции, чем F1 . Мы не должны зависеть от компилятора, чтобы оптимизировать это; Даже если это почти всегда. или основные рекомендации C ++ должны быть обновлены?
Подробнее здесь: https://stackoverflow.com/questions/796 ... n-if-unnec
Мобильная версия