通常情况下,像这样的函数参数会使用
string_view
:void fval(std::string_view sv);
void fcref(std::string_view const &sv);
哪个更好?
const
引用是 8 字节,而 string_view
通常是其两倍,例如 16 字节。
然而,如果没有内联或优化,则 const
引用可能有两个间接引用 - 一个用于引用,第二个用于指针内部。
STL 是如何做到的呢?