std string_view参数生存期

时间:2018-11-15 13:00:35

标签: c++ string-view

在下面的示例中,我有一个函数foo,该函数接受string_view作为输入,并且bar返回一个临时值。

std::string bar() {
  return "abc";
}

void foo(std::string_view input) {
  std::cout << input;
}

问题是:为什么以下(惯用的)用法正确?

  foo(bar());

具体来说:是什么保证了从string返回的临时bar在执行foo时仍然有效

或者换种说法:是什么能保证临时string在执行string_view之前不被破坏?

0 个答案:

没有答案