File to std::string_view

File to std::string_view

本文关键字:view string File std to      更新时间:2023-10-16

是否可以将文件直接加载到std::string_view中?

Direct=,而不从字符串流创建代理std::string。

这将使我的许多代码更快。

如果我理解你的要求,不。

std::string_view指的是内存的一个区域,但它不拥有该内存这意味着std::string_view需要存在另一个对象,该对象实际上包含它所引用的char对象。

如果std::string_view引用的是std::string,并且该字符串的生存期结束,那么std::string_view现在实际上是一个悬空引用/指针,尝试从中读取字符会导致未定义的行为。

注意,std::string_view可以指std::string之外的char对象的连续序列,例如简单的char数组或std::vector<char>,但无论它指的是什么,只要使用std::string_view,引用就必须存在

如果您有权访问boost,则可以将字符串视图指向boost::iostreams::mapped_filedata()