C++17引入了std::string_view
作為一種非擁有字符串的視圖,它可以與傳統的字符串std::string
互操作。下面是一些常見的方法:
std::string
創建std::string_view
:std::string str = "Hello, World!";
std::string_view view(str);
std::string_view
創建std::string
:std::string_view view = "Hello, World!";
std::string str(view);
std::string_view
來訪問字符串的數據:std::string str = "Hello, World!";
std::string_view view(str);
for (size_t i = 0; i < view.size(); ++i) {
std::cout << view[i];
}
std::string_view
來做子字符串操作:std::string str = "Hello, World!";
std::string_view view(str);
std::string_view subview = view.substr(7, 5); // 獲取從第7個字符開始的5個字符
總的來說,std::string_view
提供了一種更輕量級的字符串視圖,可以在不拷貝字符串的情況下進行字符串操作,與傳統的std::string
互操作非常方便。