复习C++语法--string与string_view

1,C风格字符串通常以char* 或 char str[]表示,字符串以'\0'结尾

2,sizeof()得到给定数据类型或变量的内存大小,strlen()得到字符串长度

3,字符串字面量

char* arr = "hello";
arr[1] = 'b';  // 未定义行为,非法
char arr[] = "hello";
arr[1] = 'b';  // 能够修改

4,原始字符串字面量

const char* str = R"(hello "world"!)"  // 以R"(开头,以)"结尾

5,C++ std::string类

a, 重载了+、[]、==、!=、<、<= 等运算符
b, string类的c_str()方法能够得到一个C风格的const char*
c, 高级数值转换与低级数值转换

6,std::string_view类

a, 没法直接链接一个string和string_view,须要这样:str+sv.data();
b, string_view能够做为参数按值传递给函数,由于其本质是指针和长度,很是高效
c, 没法从string_view隐式构建一个string,要么使用一个显示的string构造函数,要么使用string_view::data();
d, auto sv = "my string_view"sv;  // string_view字面量
相关文章
相关标签/搜索