是否可以将文件直接加载到 std::string_view 中?
直接 = 不从 stringstream 创建代理 std::string。
这会让我的很多代码更快。
最佳答案
如果我明白你在问什么,不。
std::string_view
指的是内存区域,但它不拥有该内存。这意味着 std::string_view
要求 存在另一个实际持有 char
的对象它引用的对象。
如果 std::string_view
指的是 std::string
并且该字符串的生命周期结束,然后是 std::string_view
现在实际上是一个悬垂的引用/指针,尝试从中读取字符会导致未定义的行为。
请注意 std::string_view
可以引用 char
的连续序列除 std::string
之外的对象,比如一个简单的 char
数组或 std::vector<char>
, 但不管它指的是什么,所指 的存在时间必须至少与 std::string_view
一样长将被使用。
关于c++ - 文件到 std::string_view,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58697247/