std::string_view是C++17标准中引入的一种轻量级字符串视图类型,可以用于表示字符串的一部分或整个字符串,而不需要进行内存分配或拷贝。下面是一个std::string_view的使用示例:
#include <iostream>
#include <string_view>
int main() {
std::string str = "Hello, world!";
std::string_view view1(str); // 从std::string构造std::string_view
std::string_view view2(str.data() + 7, 5); // 从字符指针和长度构造std::string_view
std::cout << view1 << std::endl; // 输出整个字符串
std::cout << view2 << std::endl; // 输出"world"
return 0;
}
需要注意的是,std::string_view类型只是字符串的一个视图,不拥有字符串的内存,因此需要确保原始字符串的生命周期大于或等于std::string_view类型的生命周期。同时,std::string_view类型也不支持修改字符串,只能用于读取字符串的内容。
No comments yet.