如何创建一个由以前输入的元素组成的数组

How do I create an array that consists of elements that I previously input?

本文关键字:元素 输入 数组 一个 何创建 创建      更新时间:2023-10-16

我编写了一个sentinel控制的C++程序,在该程序中必须输入一组名称。您可以输入的名称数量没有限制。输入完姓名后,只需键入"1"即可退出。这是我的代码:

#include <iostream>
#include <string>
using namespace std;
int main()
{
    string name;
    int nofPeople = 0;
    cout<<"Enter a name or 1 to quit:n";
    cin>>name;
    while(name != "1")
    {
        nofPeople = nofPeople + 1;
        cout<<"Enter another name or 1 to quit:n";
        cin>>name;
    }
}

现在我想创建一个长度等于"nopPeople"的数组,并且我希望该数组的元素是我已经输入的名称。我该怎么做?

您可以使用std::vector及其push_back方法在用户输入名称时将名称添加到向量中。

实现这一点的标准方法是创建一个std::vector<std::string>,在接收字符串时向其中添加字符串,最后(一旦收集了所有字符串)将矢量转换为数组。

然而,除非有其他一些奇怪的需求你没有提到,否则我强烈建议你忘记使用数组,在整个程序中继续使用向量。