在 C++ 中常用的获取字符串长度或者字符串数组长度的函数有:
- length()
- size()
- strlen()
- sizeof()
str.length() 和 str.size() 用来求字符串(string 类型)的长度。
strlen(str) 是用于求字符数组的长度,其参数是char*。当数组名作为参数传入时,实际上数组就退化成指针了。
sizeof(str) 是运算符,在头文件中 typedef 为 unsigned int,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。由于在编译时计算,因此 sizeof() 不能用来返回动态分配的内存空间的大小。
1 | string s1 = "01234"; |