簡體   English   中英

划分std :: string而不復制

[英]Divide a std::string without copying

是否可以將std::string分成兩個或多個子字符串而不進行復制,就像我們可以使用移動構造函數創建一個新的std::string而不復制一樣?

你不能用std::string來做這件事。 但是,您可以使用C ++ 17中的std::string_view執行此操作。

例:

std::string str = "TheBigStr";
std::string_view p1 = std::string_view(str.data() + 3, 3);

字符串視圖不復制數據,因此在使用視圖時不應修改str

我不知道你使用的是哪個編譯器,但至少微軟的GSL有string_span,它本質上是一個string_view。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM