[英]File to std::string_view
是否可以將文件直接加載到 std::string_view 中?
直接 = 不從 stringstream 創建代理 std::string。
它會使我的很多代碼更快。
如果我明白你在問什么,不。
std::string_view
指的是 memory 的區域,但它不擁有該 memory。 這意味着std::string_view
需要另一個 object 存在,它實際上包含它所引用的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_file
的data()
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.