C++高性能并行编程与优化 - 课件 - 15 C++ 系列课:字符与字符串给出警告),但是运行结果不对,或者还有可能崩溃。 泛型的 iostream 应运而生 • 得益于 C++ 的重载技术, cout 不用你手动指定类型,他 会自动识别参数的类型,帮你调用相应的格式化函数。 c_str 和 data 的区别 • s.c_str() 保证返回的是以 0 结尾的字符串首地址指针,总长度为 s.size() + 1 。 • s.data() 只保证返回长度为 s.size() iew name); // 超级追求性能的极客 c_str 和 data 的区别 • const char * 可以隐式转换为 string (为了方便) • string 不可以隐式转换为 const char * (安全起见) • 如果确实需要从 string 转换为 const char * ,请调用 .c_str() 这个成员函数 。 字符串的连接( + 运算符) • 用胖指针表示字符串 • C++ 的 string 克服了 C 语言 0 结尾字符串的缺点: • 字符串本身可以含有 ‘ \0’ 了,这下任何字符都众生平等。 • 末尾没有 ‘ \0’ 额外浪费的空间(除非调用 c_str 时)。 • 长度已经存储在 string 的成员里, size() 是 O(1) 的。 • 在尾部切片可以用 resize() 修改长度,无需写入字符串本身。 • string_view 和 span0 码力 | 162 页 | 40.20 MB | 1 年前3
共 1 条
- 1













