我见过带有以下签名的std :: string_view代码:
void foo(std::string_view const &); // 1
void foo(std::string_view const); // 2
哪个更正确?哪个更有效? (我认为两者的答案是相同的)
std::string_view
充当指向std::string
或char*
C字符串的指针。它包含一个指针和一个长度。无需通过引用传递它。始终使用一个值并复制它。
永远不要将其存储在任何地方,或者如果您记得它是指针,而不是实际的东西。