该absl/strings
库提供了用于操作和比较字符串、将其他类型(例如整数)转换为字符串或为其他用途评估字符串的类和实用程序函数。此外,该 strings
库还包含用于将数据存储在连续内存中的“类字符串”类的实用程序函数。
本文档概述了strings
库的亮点和一般用例。有关特定类、函数和字段的更多详细信息,请参阅特定头文件中的源文档。
尽管“字符串”通常被认为是 C++ 中的标准类型,但它们并不是内置类型,而是通过std::string
类在标准库中提供 。从根本上说,一个字符串由一个大小和一个char
字符数组组成 。
absl::string_view
集装箱
通常,您需要访问字符串数据,但您不需要拥有它,也不需要修改它。出于这个原因,Abseil 定义了一个 absl::string_view
类,它指向一个连续的字符范围,通常是另一个std::string
双引号字符串文字、字符数组甚至另一个 的一部分或全部string_view
。A string_view
,顾名思义,提供其关联字符串数据的只读视图。
大多数 C++ 代码历来使用(较旧的)Cchar*
指针类型或 C++std::string
类来保存字符数据。希望使用这两种类型数据的方法如果想要避免复制数据,通常需要提供重载实现。Astring_view
还充当接受两种类型字符数据的 API 的包装器;方法可以简单地声明它们接受