一、string数组初始化长度
string数组是由多个string类型元素组成的数组。在初始化一个string数组时,我们可以指定数组的长度。
#include <iostream>
#include <string>
using namespace std;
int main()
{
int n;
cout << "请输入数组长度: " << endl;
cin >> n;
string arr[n];
cout << "数组长度为:" << sizeof(arr)/sizeof(string) << endl;
return 0;
}
在以上示例中,我们通过用户输入的方式确定了string数组的长度,然后输出了数组的长度。需要注意的是,在C++11标准中,声明动态长度的数组是合法的,但在低于C++11的标准中是非法的。
二、string数组初始化为空
在一些情况下,我们需要初始化一个空的string数组。
#include <iostream>
#include <string>
using namespace std;
int main()
{
int n;
cout << "请输入数组长度: " << endl;
cin >> n;
string arr[n] = {};
cout << "数组长度为:" << sizeof(arr)/sizeof(string) << endl;
return 0;
}
以上示例中,我们用大括号来初始化一个空的string数组。这里的大括号和普通大括号并不一样,它表示初始化所有的元素为空,即空字符串。
三、string数组初始化赋值
除了初始化为空,我们还可以在初始化时为数组元素赋值。
#include <iostream>
#include <string>
using namespace std;
int main()
{
string arr[3] = {"apple", "banana", "orange"};
for(int i=0; i<3; i++)
{
cout << arr[i] << endl;
}
return 0;
}
在以上示例中,我们用花括号来初始化并赋值一个长度为3的string数组。我们可以看到,数组的每个元素都被成功赋值。
四、cstring数组初始化
在C++中,我们也可以使用字符数组来初始化string数组。这样做的好处是可以提高程序效率,减少内存占用。
#include <iostream>
#include <string>
#include <cstring>
using namespace std;
int main()
{
char ch_arr[3][10] = {"apple", "banana", "orange"};
string str_arr[3];
for(int i=0; i<3; i++)
{
str_arr[i] = ch_arr[i];
cout << str_arr[i] << endl;
}
return 0;
}
在以上示例中,我们使用一个2维字符数组来初始化一个string数组。
五、string数组初始化每个元素默认值
在C++中,string类型的默认值是空字符串。所以当我们初始化一个string数组时,每个元素的默认值都是空字符串。
#include <iostream>
#include <string>
using namespace std;
int main()
{
string arr[3];
for(int i=0; i<3; i++)
{
cout << arr[i] << endl;
}
return 0;
}
在以上示例中,我们初始化了一个长度为3的string数组。我们可以看到,每个元素都被默认初始化为了空字符串。
六、定义一个string数组
在C++中,我们可以使用以下语法来定义一个string数组。
string arr[数组长度];
其中,数组长度必须是一个正整数。
七、string数组默认值
在C++中,string类型的默认值是空字符串。所以当我们定义一个string数组时,每个元素的默认值都是空字符串。
string arr[3];
在以上示例中,我们定义了一个长度为3的string数组。我们可以看到,每个元素都被默认初始化为了空字符串。
八、string数组包含字符串
在C++中,我们可以用以下方式将字符串存储在string数组中。
string arr[] = {"apple", "banana", "orange", "grape"};
在以上示例中,我们通过花括号包围将多个字符串存储在一个string数组中。数组的每个元素都是一个字符串。
九、将string转化为int数组
在C++中,string类型本身是不能直接转换为int类型的。不过我们可以使用stoi()函数将string类型的数值转换为int类型。
#include <iostream>
#include <string>
using namespace std;
int main()
{
string arr[] = {"1", "2", "3", "4", "5"};
int int_arr[5];
for(int i=0; i<5; i++)
{
int_arr[i] = stoi(arr[i]);
cout << int_arr[i] + 1 << endl;
}
return 0;
}
在以上示例中,我们用string数组初始化了一个包含5个字符串的数组。然后,我们使用stoi()函数将每个字符串转化为int类型,并输出结果。