string 类
我们可以像使用关键字一样使用 string类来创建数组
且该使用该方法时不需要指定数组的大小 仅指定数组名即可
数组的大小可根据所存储的内容自动调节
因此string类的方式更加的安全 更加的方便
string类对象还支持相互赋值
但是当使用创建字符数组时 数组名是指针值 因此不可使用数组名进行相互之间的赋值操作
使用string类的方式可以很好的规避这个问题
需要注意的是 如果使用了字符数组的方式创建 使用strlen() 计算长度
使用string 类的方式创建的类对象 使用 str.size() 来计算长度
当使用字符数组的方式来创建的时候 该数组中可能会有随机值 在未被初始化前 使用strlen()方法得到的长度是个随机值
使用string类的方式创建的对象 在未被初始化前的str.size()严格为0
#include <iostream>
#include <cstring>
int main()
{
using namespace std;
char charr1[20];
char charr2[20] = "jaguar";
string str1;
string str2 = "panter";
cout << "Enter an kind of feline: ";
cin >> charr1;
cout << "Enter another kind of feline: " << endl;
cin >> str1;
cout << "Here are some felines: \n";
cout << charr1 << " " << charr2 << " " << str1 << " " << str2 <<endl;
cout << "The third letter in " << charr2 << " is " << charr2[2] << endl;
cout << "The third letter in " << str2 << " is " << str2[2] << endl;
//cout << "Size of str1 is " << str1.size() << endl;
return 0;
}