将std :: string的xvalue传递给函数std :: string_view

时间:2017-01-24 18:26:58

标签: c++ c++17 string-view

UB是否可以执行以下操作?

void foo(std::string_view view) {...}

void bar()
{
   std::string str;
   foo(std::move(str));
}

谢谢!

1 个答案:

答案 0 :(得分:4)

这是明确定义的行为,尽管它不是特别有用。 basic_string' operator basic_string_view将用于执行转换,并且没有左值/右值限制。因此,如果您根本没有使用move,它会做同样的事情。