我有接受值并將它們傳遞給其他函式的函式。鏈下沒有人會關心它是否是右值參考,他們只想讀取值。我需要使用轉發參考還是可以這樣使用const&?
template<class Arg>
void printOne(std::string& str, std::string_view fmt, const Arg& arg) {
if constexpr (std::is_same<char, Arg>::value) {
// ...
} else if constexpr (...) {
// ...
}
}
template<class ...Args>
std::string printFormatted(std::string_view fmt, const Args& ...args) {
std::string str;
(printOne(str, fmt, args), ...);
return str;
}
uj5u.com熱心網友回復:
不,您不必使用轉發參考。const參考系結到臨時右值,所以通常當不需要移動語意或完美轉發時,一個普通的、花園式的const參考將起作用。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/346196.html
