C++的string和C语言的字符串数组是有区别的,C风格的字符串数组的大小被限定在定义时的长度上,而C++标准库中的 string类 的对象在创建时会保留额外的内存空间,以便于用户调用append 成员函数 或者给string对象重新赋值时不会发生越界行为。