其他编程语言都是只有string这一种数据类型,c++的string自带有length和size方法,都可以获取字符串长度。但是c++又兼容了c语言风格的string,即字符数组,以'\0'
代表字符串的结束,那么在这种情况下字符串的长度是多少呢?是不加上'\0'
的长度,通过string.h里的strlen函数得到(在c++里面.h都改成前面加一个c,即cstring)。事实上,这两种写法都是可以的:
char name[4] = {'D','u','c','\0'};
char name[4] = {'D','u','c'};
char name[4] = "Duc";
std:string name = "Duc";
长度都是3.
更具体的知识可以看这篇博客https://www.udacity.com/blog/2021/04/our-guide-to-cpp-string-length.html