C++ std::string::size() 返回当前字符串中的字符个数,类型为 size_t。成员 length() 与 size() 语义相同,教学与库代码中更常见 size。
原型
size_t size() const;
size_t length() const;参数
- 无参数。对空串返回 0。
返回值
字符个数,不含 C 风格字符串中额外书写的结束符概念;std::string 内部维护长度,不必扫描到 '\0'。
示例
#include <iostream>
#include <string>
int main() {
std::string s = "C++";
std::cout << s.size() << " " << s.length() << std::endl;
s.clear();
std::cout << s.size() << std::endl;
return 0;
}输出:
3 3
0
注意事项
中文等多字节编码下,size() 计的是存储单元个数(对 std::string 即字节),不是显示上的字形个数。需要按码点或字形计量时,应使用相应的 Unicode 库,而不是把 size() 当作显示宽度。
下一页介绍empty:判断字符串是否不含字符。